C语言编程,定点数的存储方式

2024-11-29 19:57:08
推荐回答(2个)
回答1:

1.
定点数是计算机中采用的一种数的表示方法。参与运算的数的小数点位置固定不变。
2.
定点数又分为定点整数和定点小数。
定点整数
小数点位固定在最后一位之后称为定点整数。若机器字长为n+1位,数值表示为:
X=X0X1X2...Xn,其中Xi={0,1},0≤i≤n
即(-1)^X0
*
(X1*2^(n-1)
+
X2*2^(n-2)
+
...
+
Xn-1*2
+
Xn)
数值范围是
-(2^n-1)≤X≤2^n-1
例如:1111表示-7。
定点小数
小数点固定在最高位之后称为定点小数。若机器字长为n+1位,数值表示为:
X=X0.X1X2...Xn,其中Xi={0,1},0≤i≤n
(这里X0不表示数字,只表示符号,若X0=0,则代表X=0.X1X2...Xn,X0=1,则代表-0.X1X2...Xn)。
即X=X0.X1X2...Xn代表的小数为
(-1)^X0
*
((X1*2^(-1))
+
X2*2^(-2)
+
...
+
Xn-1*2^(-n+1)
+
Xn*2^(-n))
数值范围是
-(1-2^(-n))≤X≤1-2^(-n)
例如:1111表示-0.875

回答2:

定点数。常用的定点数有两种表示形式:
如果小数点位置约定在最低数值位的后面,则该数只能是定点整数;
如果小数点位置约定在最高数值位的前面,则该数只能是定点小数。
如果知道一个定点数的小数点位置约定和占用存储空间大小,那么很容易确定其表示数的范围。