结论:
1. 位运算符操作的都是整型的数据
2. << (左移):在一定范围内,每向左移1位,相当于 * 2
>> (右移):在一定范围内,每向右移1位,相当于 / 2
我们基本上都能从其他的学习渠道上了解到上面所述的结论,但是它有一个前提叫“在一定范围内”,如果超出“这个范围”会如何呢?今天我们来讨论这个问题。
知识前提:
(1)了解在计算机的底层,都是以补码的方式存储数值的
(2)原码、反码、补码的转换方式
① 正数三码合一;
② 负数:补码 = 反码 + 1、反码 = 原码 取反(除符号位) ;
(3)二进制与十进制的转换
(4)位运算符的计算方式
① << :空位补0,被移除的高位丢失,空缺位补0;
② >> :被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1;
譬如1:对 int i = 21,进行左移操作
public class BitTest {
public static void m