返回顶部

一缕半夏微光

温柔半两,从容一生

导航

数的编码方式

带符号数有下面四种编码方式
(1)原码:一个数的正常二进制表示,最高位表示符号,数值0的原码有两种形式:+0(0 0000000)和 -0(1 0000000)。
(2)反码:正数的反码即原码;负数的反码是在原码的基础上,除符号位外,其他各位按位取反。数值0的反码也有两种形式:+0(0 0000000)和 -0(1 1111111)。
(3)补码:正数的补码即原码;负数的补码是在原码的基础上,除符号位外,其他各位按位取反,而后末位+1,若有进位则产生进位。因此数值0的补码只有一种形式+0=-0=0 0000000。
(4)移码:用作浮点运算的阶码,无论正数负数,都是将该原码的补码的首位(符号位)取反得到移码。
 
机器字长为n时各种码制表示的带符号数的取值范围
(差别在于0的表示,原码和反码分+0和-0,补码只有一个0,因此可以多表示一个)

 

总结:
字长=符号位+各位(例如机器字长为8,则为1+7,这个1即为符号位,7为其他各位,一共有八位数字)。
原码符号位为0(正数)或1(负数),反码是在原码基础上除符号位外其他各位取反,补码是将反码的末位取反,移码是将补码的符号位取反。

posted on 2022-03-05 22:42  一缕半夏微光  阅读(1030)  评论(0编辑  收藏  举报