位运算

本文详细介绍了Java中的位运算符及其实现原理,包括补码表示、不同类型的位运算规则、以及左移、右移和无符号右移等移位运算的具体操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java中位运算符都是通过二进制进行操作的。


位运算规则:

1java使用补码来表示二进制数,在补码表示中,最高位为符号位,正数符号位为0,负数为1

  

  例:

   +42 的补码为:00101010

   -42 的补码为:11010110(11010101+0000001)

   负数取补码的规则

1、取该数绝对值的补码

2、对该补码按位取反

3、然后对整个数加1

 

2、不同类型的进行位运算,低精度类型的数据要先转成高精度的,缺的左位按位填满,正数则填0,负数则填1

  例:byte a = 1;=>0000,0001

      int b = 10;=>0000,0000,0000,0000,0000,0000,0000,1010

         a =1;   =>0000,0000,0000,0000,0000,0000,0000,0001    

  a&b =0000; =>0000,0000,0000,0000,0000,0000,0000,0000

 

3、移位运算

 <<:将一个数的各二进制位全部左移若干位,右边补0

 >>:将一个数的各二进制位全部右移若干位,最高位则移入原来最高位的值(正数补0,负数补1)。

 >>>:将一个数的各二进制位全部右移若干位,最高位补0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值