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 小时前
buuctf-pwn picoctf_2018_shellcode(ret2shellcode)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
wzdark6 小时前
基于链表的内存池设计与内存复用机制4
java·数据结构·链表
潜创微科技6 小时前
IT6520:USB-C 转 MIPI 高集成控制器,DP 1.4a 转 MIPI 单芯片搞定 4K120 显示
c语言·开发语言·低延迟·掌机·联阳
wzdark7 小时前
多维数组在算法设计中的存储映射问题4
算法
Phil3237 小时前
多智能体不是越多越好:Google《Towards a Science of Scaling Agent Systems》论文深度解读
算法
6Hzlia7 小时前
【Classic 150 刷题计划】 LeetCode 26. 删除有序数组中的重复项 | C++ 快慢双指针经典模板
c++·算法·leetcode
白色的北极熊8 小时前
字符转 ASCII 码
c语言
huang5791478 小时前
基于滑动窗口的流式数据算法优化思路3
算法
Ulyanov8 小时前
AudioVision Pro:基于 PySide6 + sounddevice 的实时音频可视化播放器设计
python·算法·音视频
土司大王8 小时前
LeetCode hot100——74.搜索二维矩阵:Java 二分模板
java·算法·leetcode