05-6 位运算符-二进制右移
二进制左移的运算符的是:>>
,会按照二进制的方式运算。其运算规则是:将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。
其语法是:<原数> >> <移动的位数>
我们举例子试试:
-
例
#include
#include "T2" using namespace std; int main() { int a = 255; int b = a >> 1; int c = a >> 2; int d = a >> 3; int e = a >> 4; cout << a << endl; cout << b << endl; cout << c << endl; cout << d << endl; cout << e << endl; T2(a); T2(b); T2(c); T2(d); T2(e); return 0; } 运行结果:(环境:Windows11(arm/Apple M VM)/Visual Studio 2022/Debug/arm64)
255 127 63 31 15 11111111 01111111 00111111 00011111 00001111
在这里,我们创建了一个
int
的数据类型,其中,a
的值为 1,b
、c
、d
和e
是a
二进制右移1、 2 、 3 、 4位的产物。运算时,先将原数化成二进制的形式,再右移动 x 位。超出数据类型所承载最大的位舍弃,不足用
0
补齐,得出运算完成的新数。
总结:将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。
:-)