C语言例3-32:使用位移位运算符的例子

复制代码
unsigned short a = 0101 ;
         short b = -6 ;
  • a 为无符号八进制整数,对应的二进制数为0000 0000 0100 0001
  • b 为有符号十进制整数,对应的二进制数为1111 1111 1111 1010
!!! 计算机系统中整型数 一律采用补码表示(存储)。

+6的原码 0000 0110

-6的原码 1000 1110

-6的补码 1111 1010

1. 表达式 a << 3

运算结果01010

|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | | 0 | 0 | 1 | 0 | | 0 | 0 | 0 | 0 | | 1 | 0 | 0 | 0 |

2. 表达式 a >> 2

运算结果是020

|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 1 | | 0 | 0 | 0 | 0 |

3. 表达式 b << 3

运算结果是 -48

|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 1 | | 1 | 1 | 1 | 1 | | 1 | 1 | 0 | 1 | | 0 | 0 | 0 | 0 |

相关推荐
小年糕是糕手6 分钟前
【C++】string类(三)
开发语言·数据结构·c++·程序人生·算法
西装没钱买13 分钟前
C语言组播的使用
c语言·开发语言·udp·组播·组播绑定网卡
胖祥14 分钟前
onnx之NodeComputeInfo
开发语言·c++·算法
无限空间之王18 分钟前
我让三个 AI 互相竞争进化,两天后它们发明了一个我看不懂的算法
算法
sinat_2554878126 分钟前
为 System.out 编写我们自己的包装类
java·开发语言·算法
阿Y加油吧37 分钟前
力扣打卡——盛最多水的容器、三数之和
算法·leetcode·排序算法
Barkamin42 分钟前
快速排序非递归实现
java·算法·排序算法
gihigo19981 小时前
距离角度解耦法的MIMO-OFDM雷达波束形成及优化MATLAB实现
开发语言·算法·matlab
WolfGang0073211 小时前
代码随想录算法训练营 Day12 | 二叉树 part02
算法·深度优先
2401_853576501 小时前
代码自动生成框架
开发语言·c++·算法