跳转至

计算机基础

二进制

原码:

反码:

补码:正数的补码等于源码/反码,负数的补码是反码加一;

左移/右移:移动位数限制根据类型的位数决定(mod n),比如 32位 int,左移 1 等价于 左移 33

算术左移

算术右移

逻辑左移

逻辑右移

浮点数的定义:IEEE 754,科学计数法,\(1.xyz * (2 ^ n)\)隐含最高数位1

  • 单精度浮点数:符号位(1位),阶码(8位),尾数(23位)
  • 阶码:采用移码表示,可直接比较,不需考虑负号问题,偏移量为 127(2^7 - 1) ;
    • 移码的指数范围为[-126, 127](254个取值):阶码全0被认为机器0,阶码全一被认为无穷大
  • 尾数:以原码表示
尾数\阶码 全0 不全0
全0 +0, -0 \(+\infty\), \(-\infty\)
不全0 NAN \([-(2−2^{-23})×2^{127}, (2−2^{-23})×2^{127}]\)