c语言中float型变量有效数字是七位,怎么看一个数的有效位数,和数学上的有效位数是一个概念吗?

如题所述

不是,变量内在给的是八位的表示,这种类型有正负,所以第一位表示正负,所以有效数字是七位,无符号型有效数字是八位,还有长整型,他是十五位有效数字
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-20
浮点型的数是 一定数量的字节连在一起构成的位:前面几位为指数,后面几位为尾数(即是小数)。
因为数的位数有限,所以,数总有一定的精度。
float型,4个字节 32位表示,如果前面8位表示指数的话,尾数只能用24位表示(包含一位符号位)。24位所能表示的小数的精度是2^(-22)左右,就差不多是十进制的7~8位了。再后面由于截断误差,七八位以后的数字已经无意义了。
double型,8字节,64位,前面11位是阶码,后面53位是尾数(包含一位符号位)。所以double型的精度就高很多了,精度是 2^(-52) 左右本回答被提问者和网友采纳