一个数的原码和补码

一个数如果为正,则它的原码、反码、补码相同;

 

一个数如果为负,则符号位为1,其余各位是对原码取反,然后整个数加1。
         

 为了简单起见,我们用1个字节来表示一个整数。


            +7的原码反码补码为: 00000111

 

            -7的原码为: 10000111

            -7的反码为: 11111000
            -7的补码为:  11111001

 

 

 

补码
      已知一个负数的补码,将其转换为十进制数,步骤:
      1、先对各位取反;
      2、将其转换为十进制数;
      3、加上负号,再减去1。
      例如:
      11111010,最高位为1,是负数,先对各位取反得00000101,转换为十进制数得5,加上负号得-5,再减1得-6。

 

二进制位操作符
&           按位与       按位与,只有壹(1)壹(1)为1。
|            按位或       按位或,只有零(0)零(0)为0。
^          按位异或     按位异或,只有零(0)壹(1)或壹(1)零(0)为1。
~          按位取反     对二进制数按位取反,即0变成1,1变成0。

 

三个移位运算符
左移:<<
带符号右移:>>
无符号右移:>>>

 

数             x                    x<<2                 x>>2                x>>>2
17      00010001    00 01000100      00000100 01     00000100 01
-17     11101111    11 10111100      11111011 11     00111011 11

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值