CSAPP 第二章 笔记
信息存储
- 十六进制表示法
- 0x开头
 
- 字数据大小
- 寻址和字节顺序
- 大端法/小端法
  
 
- 大端法/小端法
- 布尔代数
- C中逻辑运算
- C中移位运算
- 右移(算数/逻辑)
 
整数表示
无符号数编码

补码编码

各种转换
- 
有无符号数之间的转换 
  
- 
不同字长整数之间的转换 - 小->大
- 无符号数:补零
- 有符号数:补符号位
 
- 大->小
- 截断(取模)
 
 
- 小->大
整数运算
无符号数
- 
加法 
  
- 
取反 
  
- 
乘法 
  
- 
与整数相乘 
 优化为加减和移位相组合
- 
除以2的幂 - 逻辑右移
 
补码
- 加法
  
- 非
  
 其中-x可以表示为补码
- 乘法
  
- 与整数相乘
 优化为加减和移位相组合
- 除以2的幂
- 算术右移
- x<0时,加入偏置- (1<<k)-1
 
 
- 算术右移
浮点数
IEEE浮点表示
- 形式
 $ V=(-1)^s × M × 2^E$- s:符号
- M:尾数
- E:阶码
 
- 格式
- 单精度时 1+8+23
- 双精度时 1+11+52
 
- 编码值
   - 规格化
  
 - 其中偏置量bias与E的位数k有关
 \(bias = 2^{k-1} - 1\)
- 非规格化
  
- 无穷大
  
- NaN(不是一个数)
  
 
- 规格化
示例

舍入

其中,向偶数舍入:
- 目的:避免统计偏差(一半向上舍入,一般向下舍入)
- 二进制中向偶数舍入:0为偶,1为奇

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号