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 |

相关推荐
winner88813 分钟前
当算法遇到线性代数(四):奇异值分解(SVD)
线性代数·算法·奇异值分解·svd
don't_be_bald28 分钟前
数据结构与算法-顺序表
c语言·开发语言·数据结构·学习·链表
&白帝&31 分钟前
Java数据类型
java·python·算法
工一木子41 分钟前
【Leecode】Leecode刷题之路第99天之恢复二叉搜索树
java·算法·leetcode·二叉树·中序遍历
帅到爆的努力小陈1 小时前
进制转换(蓝桥杯)
java·数据结构·算法
老薛爱吃大西瓜1 小时前
MPU中断处理
c语言·单片机·嵌入式硬件
Smark.1 小时前
(leetcode算法题)371. 两整数之和
算法·leetcode
KpLn_HJL1 小时前
leetcode - 1769. Minimum Number of Operations to Move All Balls to Each Box
算法·leetcode·职场和发展
格林威2 小时前
Baumer工业相机堡盟LXT工业相机如何升级固件使得相机具有RDMA功能
人工智能·数码相机·算法·计算机视觉·c#
00Allen002 小时前
XXX公司面试真题
java·算法·面试·职场和发展·idea