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 |

相关推荐
异步的告白7 小时前
C语言-数据结构-2-单链表程序-增删改查
c语言·开发语言·数据结构
Wenhao.7 小时前
LeetCode 救生艇
算法·leetcode·golang
超级无敌大学霸7 小时前
二分查找和辗转相除法
c语言·算法
夏鹏今天学习了吗7 小时前
【LeetCode热题100(69/100)】字符串解码
linux·算法·leetcode
普通网友8 小时前
内存对齐与缓存友好设计
开发语言·c++·算法
小白程序员成长日记8 小时前
2025.11.18 力扣每日一题
算法·leetcode·职场和发展
Cathyqiii8 小时前
传统扩散模型 VS Diffusion-TS
人工智能·算法
海边夕阳20068 小时前
【每天一个AI小知识】:什么是逻辑回归?
人工智能·算法·逻辑回归
普通网友8 小时前
C++编译期数据结构
开发语言·c++·算法
Gorgous—l8 小时前
数据结构算法学习:LeetCode热题100-图论篇(岛屿数量、腐烂的橘子、课程表、实现 Trie (前缀树))
数据结构·学习·算法