作业帮 > 综合 > 作业

c语言单精度数据类型,-10 的38次方到10 的38次方.还有取6-7位有效数字,

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/30 12:21:01
c语言单精度数据类型,-10 的38次方到10 的38次方.还有取6-7位有效数字,
上面这两句有什么关系吗?10的38次方那么大的数,为什么取6-7位有效数字?
你看看 IEEE754 标准就明白了,浮点数的概念是相对于定点数的,浮点数是精度可变的一种表示法,其表示的数越大,其精度就越低,这也刚好满足科学上的需要.
单精度浮点数是 32 位的,格式如下:
域:符号位 指数(阶码) 尾数
长度:1 8 23
二进制:0 00000000 00000000000000000000000
可以看出,这其中真正用来表示原来数据的也就是 23 位的尾数部分,由于计算机内部的误差以及进制转换的问题,这 23位二进制 换算成 十进制 后有效数字也就 6-7 位了,其中的详细运算规则请查看该标准.