关于位运算以及原码反码补码

本文回顾了位运算,包括按位与、或、异或和位移操作,并详细解释了原码、反码和补码的概念,强调了在负数右移时的差异以及补码在计算机中进行加减法计算的重要性。
摘要由CSDN通过智能技术生成

计算机组成原理的时候都学过,不过有点生疏了,最近在研究hashcode的时候遇到又重新整理复习了以下。贴在此处给大家观看也方便自己以后查阅~

位运算bit operation:

and运算& (按位与) : a & b 1&1=1,0&0=0 , 0&1=0
or运算 | (按位或) : 1 | 1 = 1, 1 | 0 = 1, 0 | 0=0
xor运算 ^ (按位异或)exclusive or ,数学符号为“⊕”,计算机符号为“eor”:
1 ^ 1 = 0 , 1 ^ 0 = 1, 0^ 0=0
(不同就是1,相同就是0)

a >> b带符号右移 :

  • 当a为正数时: 将a右移b位,在高位(左边)补0 ,例如:23 >> 2 =5:
    23的二进制表示为 10111,右移2位后变为 00101,00101的十进制就是5。
    注:23是int类型,Java中表示为32位,实际在计算机中记录为 00000000 00000000 00000000 00010111

  • 当a为负数时,将a右移b位,在高位(左边)补1 ,例如 -23 >> 2 = -6:
    -23在计算机中以其补码形式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值