<C语言浮点数表示问题-百科大全-春风百科
> 百科大全 > 列表
C语言浮点数表示问题
时间:2024-12-23 20:19:20
答案

楼主如果真想弄清楚这个问题的话,建议去看下浮点数的格式.

简单地说就是,在计算机中,浮点数是表示成类似于十进制中的科学计数法那样的形式,只不过是表示成a乘以2的b次方,而不是10的b次方,而且a也是2进制数.float有32位,一部分用来表示a,一部分用来表示b,但这部分位数毕竟是有限的,如果a的实际位数超过了这部分的容量,那么就只能截取掉后面多的位数了,剩下的位数再转换成10进制数后,肯定和你原来想存的数不一样了.

存a的这部分我忘了是几位了,好像是8还是9吧,除去首位有其他用途,后面7位分别表示2的负几次方,而2的-7次方是0.0078125,所以只能保证小数点后6位是有效的

推荐
© 2024 春风百科