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 |

相关推荐
玛丽莲茼蒿5 分钟前
Leetcode hot100 【中等】括号生成
算法·leetcode·职场和发展
橘子编程7 分钟前
GoF 23 种设计模式完整知识总结与使用教程
java·c语言·开发语言·python·设计模式
小欣加油8 分钟前
leetcode 128 最长连续序列
c++·算法·leetcode·职场和发展
意疏16 分钟前
【C语言】解决VScode中文乱码问题
c语言·开发语言·vscode
汀、人工智能20 分钟前
[特殊字符] 第94课:删除无效的括号
数据结构·算法·数据库架构·图论·bfs·删除无效的括号
pwn蒸鱼27 分钟前
leetcode:92. 反转链表 II
算法·leetcode·链表
深念Y30 分钟前
Harness Engineering:我的HomeSense Agent 架构演进
人工智能·算法·架构·智能家居·agent·小爱同学·harness
Shadow(⊙o⊙)32 分钟前
C语言学习中需要的额外函数
c语言·开发语言·学习
Imxyk33 分钟前
P9244 [蓝桥杯 2023 省 B] 子串简写
数据结构·c++·算法
艾莉丝努力练剑34 分钟前
【Linux线程】Linux系统多线程(四):线程ID及进程地址空间布局,线程封装
java·linux·运维·服务器·c语言·c++·学习