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 |

相关推荐
Xの哲學5 小时前
Linux MAC层实现机制深度剖析
linux·服务器·算法·架构·边缘计算
埃伊蟹黄面5 小时前
算法 --- hash
数据结构·c++·算法·leetcode
南棱笑笑生5 小时前
20251215给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-5.10】后调通typeC1接口
linux·c语言·开发语言·rockchip
ywwwwwwv6 小时前
力扣139
算法·leetcode·职场和发展
smj2302_796826526 小时前
解决leetcode第3777题使子字符串变交替的最少删除次数
python·算法·leetcode
fei_sun6 小时前
【数据结构】2025年真题
数据结构
我在人间贩卖青春6 小时前
线性表之队列
数据结构·队列
Tisfy6 小时前
LeetCode 2110.股票平滑下跌阶段的数目:数学(一次遍历)
数学·算法·leetcode·题解
1024小神6 小时前
swift中 列表、字典、集合、元祖 常用的方法
数据结构·算法·swift
ULTRA??6 小时前
Informed RRT*实现椭圆启发式采样
c++·算法