1.<<左移 (又叫算术左移),数字的二进制表示中符号位不进行移位。
例如 10<<2
10的二进制表示是 (机器补码表示,不会自行百度)0,0000000...00001010(共三十二位,假设机器是32位机器,64位大同小异)
左移2位之后是0,0000000...0000101000 ,换算成十进制就是40. 因为【(10*2)*2 = 40】。
例如 (-10)<<2
-10的二进制表示是 1,1111111...11110110(共三十二位,假设机器是32位机器,64位大同小异)
左移2位之后变成1,1111111...1111011000(补码左移规则请自行百度), 换算成十进制就是-40,所以(-10)<<2 = -40
2.<<<符号左移(又叫逻辑移位),即把数字的二进制表示中符号位不用区别对待。
整数的符号左移和左移是