
什么是浮点数,什么是小数
2个回答
展开全部
1.C语言的小数都是浮点数。浮点数属于floating binary point types,也就是说都double型的数值在相加减的时候,会将数值转换成二进制的数值如10001.10010110011这种表示发再做相加减,但是在转换成二进制代码表示的时候,存储小数部分的位数会有不够的现象,即无限循环小数,这就就会造成小数相加后结果会有微差距。
2.浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法。
3.浮点计算是指浮点数参与的运算,这种运算通常伴随着因为无法精确表示而进行的近似或舍入。
一个浮点数a由两个数m和e来表示:a = m × b^e。在任意一个这样的系统中,我们选择一个基数b(记数系统的基)和精度p(即使用多少位来存储)。m(即尾数)是形如±d.ddd...ddd的p位数(每一位是一个介于0到b-1之间的整数,包括0和b-1)。如果m的第一位是非0整数,m称作规格化的。有一些描述使用一个单独的符号位(s 代表+或者-)来表示正负,这样m必须是正的。e是指数。
2.浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法。
3.浮点计算是指浮点数参与的运算,这种运算通常伴随着因为无法精确表示而进行的近似或舍入。
一个浮点数a由两个数m和e来表示:a = m × b^e。在任意一个这样的系统中,我们选择一个基数b(记数系统的基)和精度p(即使用多少位来存储)。m(即尾数)是形如±d.ddd...ddd的p位数(每一位是一个介于0到b-1之间的整数,包括0和b-1)。如果m的第一位是非0整数,m称作规格化的。有一些描述使用一个单独的符号位(s 代表+或者-)来表示正负,这样m必须是正的。e是指数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定点数,分为:定点整数和定点小数。
定点整数,就是表示我们常用的整数(正数负数零)。
定点小数,其表示范围仅仅是小数而已,基本上是无法应用的,一不小心就溢出了。
我们用的小数,在计算机中,一般都是用“浮点数”表示的。
什么是浮点数? 等你上了中学,你就能学到“科学记数法”。
使用科学记数法来表示数字 N,就是:N = ± 绝对值 × b^r。
● 绝对值由“一位整数、多位小数”组成。
● b 是基数,常用的十进制,b 就是 10。
● r 是指数。
把科学记数法,落实到计算机中,就成了浮点数。
按照 IEEE754 规范,浮点数有三个部分:S、E、M。
● S 是符号位。
● E = r + 偏移量,称为阶码。
● (1.)M 是绝对值,这是一个无符号数。
● M 只是绝对值的小数部分,所以,就称为“尾数”。
综上,把“浮点数”按照“科学记数法”写出来,就是:
● N = (-1)^S × (1.M) × 2^(E-偏移量)。
浮点数还有许多的细节,都不必讨论了。 计算机有专门的硬件(FPU 浮点处理单元)进行浮点数的计算,你只需等待运算结果即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询