无符号数和有符号数(一)无符号数,即无符号数在机器字长相同的情况下,无符号数和有符号数的范围不同。 以机器字长16位为例,无符号数的范围为0~65 535,有符号数的范围为-32 768 ~ 32 767。
(二)有符号数在计算机中符号位为0表示正,符号位为1表示负。
1 .原码表示法整数的原码,例如
真值为正:将符号位更改为相应的数字,并用逗号分隔
如果x= 1110,则源代码为0,1110
真值为负:将符号位更改为相应的数字,并用逗号分隔
如果x=-1,1110,则源代码为1110
小数源代码,例如
真值为正:在小数点前放置符号
如果x= 0.1010,则源代码为0.1010
真值为负:将符号放置在小数点前面
如果x=-0.1010,则源代码为1.1010
当x = 0时,原码有两种表现形式
x= 0.0000源代码为0.0000
x=-0.0000的源代码为1.0000
2 .补码表示法整数的补码,如
真值为正,即使添加符号位,数值位也不会改变
x= 1010补数为0,1010
真值为负,添加符号位,数字位按位反转后加1
x=-1010的补数为1,0110
小数补数,例如
真值为正,下标在小数点前面,数字位数不变
x= 0.1010补数为0.1010
真值为负,附加符号位于小数点前面,数字位数按位反转并加1
x=-0.1010补数为1.0110
若 x = -1,根据小数补码定义,其补码为1.0000
3 .反码表示法整数的反码,例如
真值为正,即使添加符号位,数值位也不会改变
x= 1010补数为0,1010
真值为负,添加符号位,数字位按位反转
x=-1010的补数为1,0101
小数反码,例如
真值为正,下标在小数点前面,数字位数不变
x= 0.1010补数为0.1010
真值为负,附加符号位于小数点前面,数字位数按位反转
x=-0.1010补数为1.0101
4 .移动码表示法整数的移动码,例如
真值为正,符号位相反,数值位不变
x= 1010补数为1,1010
真值为负,符号位反转,数字位逐位反转加1
x=-1010的补数为1,0101
数的定点表示和浮动小数点表示(一)定点表示
小数点在数字和第一个数值位之间时,机器内的数量为纯小数; 如果小数点位于数值位之后,则机器中的数量为纯整数。
(二)浮点表示
s可以取尾数,j可以取阶码,r可以取基数(在计算机中为2、4、8或16 ) )。 如果很难理解,请参照以前我们学过的科学计数法。
浮点数在机器中是以下形式,采用这种数据形式的机器称为浮点机。
例如浮点数为0.11001012^-10,浮点机为1,0010; 0.11001010000
浮点数的规格化
为了提高浮点数的精度,需要将浮点数规范化。 标准化的情况下,尾数移动的情况下需要改变阶段编号,所以参照科学的计数法即可,可以很好地理解。
基数为2时,尾数的最高位为1的数是归一化数。
基数为4的情况下,尾数的最大2位都不是0的数是正规化数。
基数为8时,尾数的最高3位都不是0的数是正规化数。
.