给定一个unsigned short型数据12345, 进行左移 2 位和右移 2 位操作。
时间: 2023-09-03 09:13:29 浏览: 166
对于给定的 unsigned short 型数据 `unsigned_short_g`,值为 12345,进行左移 2 位和右移 2 位的操作。左移和右移操作的原理如下:
左移:将二进制数向左移动指定的位数,右边用 0 填充。
右移:将二进制数向右移动指定的位数,左边用原来的最高位填充。
对于 `unsigned_short_g` 的左移操作:`unsigned_short_g << 2`,二进制数为 `0011001000111001`,向左移动 2 位后变成 `1100100011100100`,转换成十进制数为 49380。所以输出的结果为:
```
unsigned_short_g=12345,unsigned_short_g=0x3039
zunsigned_short_g=49380,zunsigned_short_g=0xc0e4
yunsigned_short_g=3087,yunsigned_short_g=0x0c1f
```
对于右移操作:在无符号数据类型中,右移时最高位补充的是 0 而不是原来的最高位。所以 `unsigned_short_g >> 2` 的结果为 `3086`,二进制数为 `0000110001001110`,转换成十六进制数为 `0x0c1e`。所以输出的结果为:
```
unsigned_short_g=12345,unsigned_short_g=0x3039
zunsigned_short_g=49380,zunsigned_short_g=0xc0e4
yunsigned_short_g=3086,yunsigned_short_g=0x0c1e
```
阅读全文