这个结果是什么,有没有人会呢

语句  cout<<(32>>3)<<endl;  的输出结果是(  )。

32>>3,表示把32右移位3位。

假设编译器默认32为4byte int类型。那么,
32对应二进制数:0b (24个0) ... 0010 0000

右移3位得到:0b (24个0) ... 0000 0100

这样就得到4(十进制)。

实际上,一个数(正整数),每右移1位,相当于除以2。32右移3位,相当于32 / 2的3次方 = 4。

4

img