什么是定点数

如题所述

有关定点数的内容如下:

1.纯整数:

例如整数100,小数点其实在最后一位,所以忽略不写

2.纯小数:

如:0.123,小数点固定在最高位

3.整数+小数:

例如1.24、10.34,小数点在指定某个位置

对于前两种情况,纯整数和纯小数,因为小数点固定在最低位和最高位,所以它们用定点数表示时,原理是相同的,只需要把整数部分、小数部分,按照十进制转二进制的规则,分别转换即可。

而对于整数+小数的情况,用定点表示时,需要约定小数点的位置,才能在计算机中表示。

对于纯整数100,由于小数点固定在最低位,假定我们以1个字节(8bit)表示,用定点数表示如下(D为十进制缩写,B为二进制缩写):100(D)=01100100(B)

对于纯小数0.125,由于小数点固定在最高位,同样以1个字节(8bit)表示,用定点数表示如下:0.125(D)=0.00100000(B)

从以上例子可以看出,这2种情况用定点数表示都比较简单,按照十进制转为二进制规则,即定点数表示整数+小数。这种情况下,我们需要先约定小数点的位置。

依旧以1个字节(8bit)为例,我们可以约定前5位表示整数部分,后3位表示小数部分。对于数字1.5用定点数表示1.5(D)=00001100(B),数字25.125用定点数表示25.125(D)=11001 001(B)。

过程:

1.在有限的bit宽度下,先约定小数点的位置

2.整数部分和小数部分,分别转换为二进制表示

3.两部分二进制组合起来,即是结果

我们约定了前5位表示整数部分,后3位表示小数部分,此时这个整数部分的二进制最大值只能是11111,即十进制的31,小数部分的二进制最大只能表示0.111,即十进制的0.875。

1.扩大bit的宽度:

例如使用2个字节、4个字节,这样整数部分和小数部分宽度增加,表示范围也就变大了

2.改变小数点的位置:

小数点向后移动,整个数字范围就会扩大,但是小数部分的精度就会越来越低,没有办法表示类似0.00001这种高精度的值。

总结

1.定点数是在计算机中表示数字的一种方式,它既可以表示整数,也可以表示小数。

2.在固定bit下,约定小数点的位置,然后把整数部分和小数部分分别转换为二进制,就是定点数的结果。

3.受限于小数点的位置,用定点数表示小数时,数值的范围和小数精度是有限的。

4.在现代计算机中,定点数通常用来表示整数,对于高精度的小数,通常用浮点数表示。

温馨提示:答案为网友推荐,仅供参考
相似回答