左移运算符m<<n表示把m左移n位。在左移的时候,最左边的n位将被丢弃,同时在最右边补上n个0。比如:
00001010<<2 = 00101000
10001010<<3 = 01010000
右移运算符m>>n表示把m右移n位。在右移n位的时候,最右边的n位将被丢弃。但右移时处理最左边位的情性要复杂一点。如果数字时一个无符号数值,则用0填补最左边的n位;如果数字是一个有符号的数值,则用数字的符号位填补最左边的n位。也就是说,如果数字原先是一个正数,则右移之后再最左边补n个0;如果数字原先是负数,则右移之后在最左边补n个1。
下面是对两个8位有符号数进行右移的例子:
00001010>>2 = 00000010
10001010>>3 = 11110001
位运算
最新推荐文章于 2023-05-21 01:45:26 发布