迪克猪的博客
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

第二章信息的表示和处理 整数运算

整数表示

用位来编码整数,两种不同方式:一种只能表示非负数,而另一种能够表示负数、零和正数。

整型数据类型

32位与64位机器取值范围不同 大多数64位机器使用8个字节表示,比32位机器上使用4个字节表示取值范围大 取值范围不对称,负数比正数的范围大1

无符号数编码

  • 向量定义法
  • 最小值0,最大值二的N次方减一
  • 无符号数编码具有唯一性

补码(two’s-complement)编码

  • 用补码表示有符号的数
  • 将字的最高有效位解释为负权(negative weight)
  • 符号位设置为1表示值为负、0表示值为正
  • 补码编码的唯一性,双射
  • 补码范围不对称:|TMin| = |TMax| + 1
  • UMax = 2TMax + 1

  • long类型:不同机器有不同的取值范围

有符号数的其他表示方法:反码、原码

无符号加法

补码加法

正溢出
负溢出


补码的非

无符号的乘法

补码乘法

乘以常数