Coursera专区

计算机怎么表示整数类型

2017-08-06  本文已影响26人  要上班的斌哥

计算机采用二进制来表示整数,计算机的整数表示方法有Unsigned Integers 和 Signed Integers 之分。

Unsigned Integers 的表示

Unsigned Integers 的表示没有什么特别的,就是表示正整数,正常的十进制对应的二进制转换,正常的加减法遵循进位和借位的规则。


Unsigned Integers

Signed Integers 的表示

Signed Integers 的表示还是有点意思的,对于正整数来说,Signed Integers 的表示和 Unsigned Integers 的表示是一样的。Signed Integers 的表示方法中,最高位是符号位,用来表示正负的,对于正整数来说,最高位符号位为 0 ,对于负整数来说,最高位符号位为 1。


Signed Integers

Signed Integers 怎么表示 -1 和 0

从下图中可以看出,最高位表示正负,那么 0 会有 2 个表示方法。 - 1 的表示是 1001 。

-1 表示

按照上面的负数表示方法,我们的减法法则无法成立!所以这种方法不能用来表示负数

减法法则

补码的表示方法

我们的前辈采用了补码方法来表示整数类型的负数。其中 ~x + 1 = x 。-1 的补码表示是 1111,所有负整数的最高位符号位仍然是 1 。

补码

补码的算术

算术运算采用正常的 进位和借位 处理


image.png

几个常见数字的 Unsigned 和 Signed 表示

image.png

Signed 和 Unsigned 的表示范围

可视化 数字范围

参考

  1. 华盛顿大学的 CSE 351 课程 The Hardware / Software Interface
上一篇 下一篇

猜你喜欢

热点阅读