码制(原码、反码、补码、移码)

码制(原码、反码、补码、移码)

1.原码即将数值直接转换为二进制数,首位为符号位(0表示正数,1表示负数)
例如:若机器字长n为8
则+1=0 0000001 -1=1 0000001
+127=0 1111111 -127=1 1111111
数值0的原码有两种形式:
+0=0 0000000 -0=1 0000000
2.反码
正数的反码与其原码相同!
负数的反码:在原码的基础上,除符号位不变,其余各位取反(即0变1,1变0)
例如:-1=1 1111110
-127=1 0000000
-45=1 1010010
数值0的反码有两种:
+0=0 0000000 -0=1 1111111
3.补码
正数的补码与其原码相同!
负数的补码:等于其反码的末位加1(即-1的反码为1 1111110,末位加1则变为1 1111111)
例如:-127=1 0000001
-45=1 1010011
数值0的补码有唯一形式:
+0=-0=0 0000000
移码
移码是在数x上增加一个偏移量来定义,如果机器字长为n,规定的偏移量为2^n-1(即2的n-1次方)
例如机器字长为8,则偏移量为2^7,相当于给数x按位相加1 0000000
实际上,在偏移量为2^n-1的情况下,只要将补码的符号位取反便可得到相应的移码
例如:
+1=1 0000001 -1=0 1111111
+127=1 1111111 -127=0 0000001
+45=1 0101101 -45=0 1010011
数值0的移码有唯一形式:
+0=1 0000000 -0=1 0000000

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值