Skip to Content
Introduction to Computer System

Chapter 2

2018-11-13Original-language archivelegacy assets may be incomplete
  • 进制转换
  • 定点表示
    • 机器数:编码后的表示
    • 真值
    • 原码表示
    • 补码表示:Xc=(M+X)(modM)X_c=(M+X)\pmod M
      • -:取反加一(与数据类型无关)
        • -2147483648 : 0x80000000
    • 反码表示
    • 移码:表示浮点数
  • 浮点表示
    • X=(1)SMREX=(-1)^SMR^E
      • MM: mantissa
      • EE: exponent
      • RR: radix
    • IEEE 754
      • FLOAT: 1+8+23
      • DOUBLE: 1+11+52
      • Intel FPU: 1+15+(1)+63
      • 偏置常数 B: 2n112^{n-1}-1
      • 分类
        • 0: -0/+0
        • 非规格化数:(1)s0.f(1B)(-1)^s * 0.f *(1-B)
        • 全1阶码全0尾数:\infty
        • 全1阶码非全0尾数:NaN(分静止的和通知的)
          • 最高有效位为1:静止的
        • 规格化数:(1)s1.f2eB(-1)^s*1.f*2^{e-B}
  • 浮点运算的舍入
    • 右规时,直接截断
    • IEEE754 至少两位附加位(guard,round,sticky)
    • 就近舍入到偶数
  • 整数表示
    • 有符号: 2n1(2n11)-2^{n-1}\sim(2^{n-1}-1)
    • 整数常量(无后缀)
      • C90 : int - * - unsigned long int
      • C99 : int - * - long long int
  • BCD码
  • 数据宽度
    • 字长 word size:指明指针数据的标称大小(决定虚拟地址空间最大大小)
    • KMGTPEZY
    • 小端:MSB在大地址中
    • #pragma pack(n) 设置对齐方式
    • __attribute__((n)) 设置单独的对齐方式,大于n的数据结构按n对齐