发布网友 发布时间:3小时前
共0个回答
因为计算机保存浮点数时,是把数看作a*2^b这样的形式,不是以10为底数,而是以2为底数。即将数转换成以2为底的“科学计数法”的形式,再由这个形式反转换成10进制形式,但数据又有位数限制,所以有些数转换成二进制计数法形式后位数超出了限制的位数,那么转换回来时得到的数就会与原数有偏差,不...
C语言中为什么单精度实数的有效位数一般为7位因为浮点型数据在储存时使用的储存单元长度有限,因此能提供的 有效数字位数是有限的.float x;x=66666.66666;printf("%f",x);运行结果:x=66666.664063 输出结果前7位是准确的后四位是一个意想不到的数
C语言中为什么单精度实数的有效位数一般为7位。因为浮点型数据在储存时使用的储存单元长度有限,因此能提供的 有效数字位数是有限的。float x;x=66666.66666;printf("%f",x);运行结果:x=66666.664063 输出结果前7位是准确的后四位是一个意想不到的数
C语言 单精度浮点数有效位数一定是7位吗是7位没错啊,你的例子中a情况是在第位四舍五入对高位产生的“连锁”进位。
单精度的浮点数有效数字为什么是七位?单精度数的尾数用23位存储,加上默认的小数点前的1位1,2^(23+1) = 16777216。因为 10^7 < 16777216 < 10^8,所以说单精度浮点数的有效位数是7位。双精度的尾数用52位存储,2^(52+1) = 9007199254740992,因为10^16 < 9007199254740992 < 10^17,所以双精度的有效位数是16位。
...定义为单精度型,能不能赋予有效数字超过七位的数,系统会显示错误吗...能啊,只是用单精度输出的时候,只能 保证7位有效数字,可能和你原来赋值的数,有些出入。
c语言中什么是单精度型和双精度型???各举个例子。。。单精度型和双精度型的区别在于它们的精确程度不一样,也就是小数部分的有效位数不一样。单精度数(float型)在32位计算机中存储占用4字节,也就是32位,有效位数为7位,小数点后6位;双精度数(double型)在32位计算机中存储占用8字节,也就是64位,有效位数为16位,小数点后15位。比如3....
C语言中,单精度型数据有效数字约是6~7位,数值范围是约-3.4e-38——3...128,所以取值范围为:-2^128到2^128,约等于-3.4E38 — +3.4E38 精度(有效数字)主要看尾数位:float的尾数位是23bit,对应7~8位十进制数,所以有效数字有的编译器是7位,也有的是8位 其实这些东西网上都能搜到,遇到不懂的,多在网上找下,希望能帮到你 ...
单精度和双精度有什么不同?1,单精度浮点型为float, 双精度浮点型为double。2,Float为单精度,内存中占4个字节,有效数位是7位(因为有正负,所以不是8位),在我的电脑且VC++6.0平台中默认显示是6位有效数字。3,double为双精度,占8个字节,有效数位是16位,但在我的电脑且VC++6.0平台中默认显示同样是6位有效数字。...
为什么最后输出的有那么多零呢,float是单精度不是双精度啊,双精度才有...C语言中浮点型一般分为float单精度型、double双精度型、long double长精度型,单精度浮点型小数点后面有效数字为6~7位和双精度浮点型小数点后面有效数字为15~16位。在C语言标准库头文件float.h定义了浮点数小数点后的有效位数 ://float.h头文件的部分代码 define DBL_DIG 15 //双精度小数点后15...