java中的移位运算分三种:<<左移、>>带符号右移、>>>不带符号右移
数 x x<<2 x>>2 x>>>2
17 00010001 0001000100 0000010001 0000010001
-17 11101111 1110111100 1111101111 0011101111
可以看出左移后空出两位用00填补,带符号右移后正负数分别由00、11填补,不带符号右移后用00填补。
孙鑫老师演示了左移1位相当于乘2,右移1位相当于除2后讲了一个笑话。
说是有个朋友说他同事是从清华大学毕业的,很厉害人家做乘除2用移位,很厉害。
其实明白一些计算机组成原理就会知道,计算机中就是用加移动代替乘除的。
这几天在看王森先生的《java深度历险》,所以写的内容基本就是我看孙鑫老师教程的心得,还请包含。相信看过孙鑫老师教程的人,会有心有灵犀一点通的感觉。