左移操作用符号<<表示,将对应的二进制数向左移动n位
比如变量a=10,向左移动两位之后得出的结果是20
十进制数10对应的二进制数是0000 1010,那0000 1010左移两位后是0010 1000,而0010 1000对应的十进制数则是40
右移操作用符号>>表示,将对应的二进制数向右移动n位
比如变量b=1234,向右移动两位后得出308
十进制数1234对应的二进制数是0100 1101 0010
右移两位之后,最后两位10就没有了,得出0001 0011 0100,对应的十进制数是308
与运算用符号&表示,如果&号左右的数代表的二进制数相同位都是1,则得出的新二进制位也为1,否则为0
十进制数100的二进制数是0110 0100
十进制数50的二进制数是0011 0010
笔算式子如下(电脑鼠标写的,太丑了别介意哈):
所以得出的新二进制数是0010 0000,对应的十进制数是32
或运算用符号|表示,如果|号左右的数代表的二进制数相同位有1的位,则得出的新二进制位也为1
十进制数222的二进制数是0000 1101 1110
十进制数333的二进制数是0001 0100 1101
笔算式子如下:
所以十进制数222和333进行或运算,得出的数的二进制为0001 1101 1111,也就是479
取反运算符是~,后面带一个数字,为1的二进制位得出的为0,为0的得出1
十进制数30取反后得到-31
异或用^表示,二进制位相同位0,相异为1
十进制数1234的二进制为0000 0100 1101 0010
十进制数4321的二进制为0001 0000 1110 0001
1234^4321得出5171
十进制数5171的二进制为0001 0100 0011 0011
笔算式子如下:
喜欢的话就点赞关注吧!