C++右移操作
">>" 向右位移运算符,是一种双目位运算符。
1. 什么是位呢?
就是bit
2. 什么是双目呢?
就是有两个操作数
3. 那么会有什么效果呢?
假设
unsigned char a = 5; // 那么实际上它在 内存里面 表示为 0x05 --> bit: 0000 0101
如果有
unsigned char b = a>>1;
// 那么有下面的情况:
a:[0000 0101] // b=a>>1
b:[0000 0010]1
我们发现这里面出现了数据的损失,如果没有损失的情况下,会有什么样的效果呢?
是的,相当于除以2。

浙公网安备 33010602011771号