C语言,float有效位为7位的问题。

请问,
1)对于float,它的有效位为7位,包含小数点吗?比如,是123.456还是123.4560???
2)对于printf中%7.2f的输出,7---总的长度,包括小数点吗?比如加入a=123.456,有printf("%7.2f",a);那么输出的a是啥?是 “ 空格123.45” 还是“空格空格123.45”?

float 有效数字位数是7位,不叫有效位, 不包含 小数点,也不包含 领头的0。
例如: 1.234067, 0.1234067, 1234067.00, 0.001234067 -- 其中 1234067 是有效数字。
也就是用科学记数法时,不考虑指数。
%7.2f , 7---总的长度(应当叫 场宽) ,含小数点,含正负号
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-21
结果是符号位加123.46,也就是你所说的空格123.46
第2个回答  2013-08-21
你好,小数点也属于字符,所以包括。追问

也就是说123.456789的有效位是123.456是吗?

第3个回答  2013-08-21
1小数点后六位 2包括

C语言,float有效位为7位的问题。
float 有效数字位数是7位,不叫有效位, 不包含 小数点,也不包含 领头的0。例如: 1.234067, 0.1234067, 1234067.00, 0.001234067 -- 其中 1234067 是有效数字。也就是用科学记数法时,不考虑指数。7.2f , 7---总的长度(应当叫 场宽) ,含小数点,含正负号。

c语言中float小数点后能有几位?
在C语言中,float类型的精度有限,它只能精确表示大约7位的有效数字。这意味着,如果你需要进行高精度的数值计算,特别是涉及到小数点后的精确度时,float可能并不理想。为了实现更准确的结果,建议选择Decimal类型,它能够提供更丰富的精度和更精确的小数表示能力。因此,如果你对数值的准确性有较高要求,...

...float型有一处不明:就是单精度的有效位数是7位,为什么在下面的例子...
即将数转换成以2为底的“科学计数法”的形式,再由这个形式反转换成10进制形式,但数据又有位数限制,所以有些数转换成二进制计数法形式后位数超出了限制的位数,那么转换回来时得到的数就会与原数有偏差,不同的数这个偏差是不同的,有可能在小数点后第7位,也有可能在第8位,也有可能在其他位数,...

关于C语言 float 保留七位有效数字问题
如果输入的数据多余七位有效数字,就会出错。比如1234567.8,输出后则会出现小数部分不正确。

C语言为什么float型数据可以大到3.4*10^38而有效数字只有7位
如果表示范围小一些,精度就可以增大一点,float类型是综合考虑范围,精度以及运算等因素而定的一个类型。如果你真的感兴趣,建议了解一下float类型是如何表示一个实数的,追问我也可以,不过如果你只是学C\/C++解决一些基础问题,以后不经常用的话,那也没必要关心这些,了解这些其实也没多大意思。

C语言中.float都说是是显示7位有效数字
7位有效数字的意思是,超过7位的就没有意义了。你这个结果四舍五入到7位,你看看是多少。你的数字会变是因为, 十进制是有限小数的数,转到二进制可能是无限小数。0.2就是。

c语言中float型变量有效数字是七位,怎么看一个数的有效位数,和数学上...
不是,变量内在给的是八位的表示,这种类型有正负,所以第一位表示正负,所以有效数字是七位,无符号型有效数字是八位,还有长整型,他是十五位有效数字

c语言printf("%f")的问题!
x=111111.111;y=222222.222;尽管它们的和的真值为333333.333,但由于它们是float浮点数,只保留7位有效数字,即前面的7个3是有效的,而后面的则都是由一些无效数字组成,因此结果为333333.3XXXXX,这些X都是些随机的无效数字。

C语言中float有7到8个有效数字,为什么呢?各位大神能否回答一下呢...
由于float的指数部分对应的指数范围为-128~128,所以取值范围为:-2^128到2^128,约等于-3.4E38 — +3.4E38 精度(有效数字)主要看尾数位:float的尾数位是23bit,对应7~8位十进制数,所以有效数字有的编译器是7位,也有的是8位

c语言中的float数据类型的有效数字为什么是6~7位
平时讲 有效数字 是6~7位 ,指10进制。 通常程序输入的数是10进制,进入机器后要化成2进制,计算完又转十进制输出。 10进制到2进制,2进制到10进制 转换,有的数化不净,有的数化得净。 如同10进制分数化10进制小数,有的化得净(例如 4分之1,变0.25),有的化不净(例如 3分之1,变...

相似回答