【JavaSE学习笔记】位运算符

xiaoxiao2021-02-27  280

·位运算符

A:

1)&(位与), |(位或), ^(位异或), ~(反码:按位取反)

     注意事项:计算一个数据对另一个数据进行位运算操作,必须先将数据转换为二进制补码

正数的原码、反码、补码相同,不用转换,但本质还是补码

在计算负数时,应先将负数转换为补码,再计算

a.3&4

b.3|4

c.3^4

特点(考点):一个数据被另一个数据位异或两次,其值本身不变

面试题:实现两个数据值的交换

方法1:(中间变量法:开发中常用

方法2:(使用位异或特点,面试中常用主要是看是否了解位异或特点

方法3:(变量相加,了解)

d.~3

2)<<:左移动:最高位丢弃掉,在右边补齐0

心法:a<<b = a * (2^b)

3)>>:右移动:最高位是1,左边补齐1,否则补齐0

心法:a>>b = a / (2^b)

4)>>>:无符号右移动:无论最高位是多少,左边都补齐0

心法:若a>=0为正,则a>>>b = a / (2^b)

           若a<0,则转换为二进制补码,再计算

转载请注明原文地址: https://www.6miu.com/read-8510.html

最新回复(0)