乐趣区

关于人工智能:ARM汇编计算机原理与数制基础113-二进制补码

在计算机中,为了示意有符号整数(即负数和正数),通常采纳二进制补码表示法。二进制补码不仅能够示意正数,还能简化计算机的加法和减法运算。接下来,咱们将介绍二进制补码的概念及其计算方法。

原码、反码和补码

在探讨补码之前,咱们先理解一下原码和反码的概念。

  1. 原码 :间接将一个有符号整数转换为二进制数,最高位示意符号(0 代表负数,1 代表正数)。例如:+5 的原码为 00000101-5 的原码为 10000101
  2. 反码 :对于负数,其反码与原码雷同;对于正数,除符号位外,其余位取反(0 变为 1,1 变为 0)。例如:+5 的反码为 00000101-5 的反码为 11111010
  3. 补码 :对于负数,其补码与原码雷同;对于正数,其补码为反码加 1。例如:+5 的补码为 00000101-5 的补码为 11111011

求补码的办法

  1. 求负数的补码:间接将负数转换为二进制数,最高位为 0。
  2. 求正数的补码:先求其绝对值的二进制数,而后取反并加 1。

示例:

求 +5 和 -5 的补码:

+5 的补码:00000101
-5 的补码:先求 +5 的二进制数:00000101,而后取反:11111010,最初加 1:11111011

补码的加法运算

应用补码表示法进行加法运算时,能够将有符号整数的加法对立为无符号整数的加法。计算过程中,如果最高位(符号位)有进位,则疏忽该进位。

示例:

计算 +5 和 -3 的和:

+5 的补码:00000101
-3 的补码:11111101

相加:00000101
+ 11111101
----------
 100000010  (最高位有进位,疏忽)

后果为 00000010,转换为十进制数为 2。所以,+5 和 -3 的和为 2

从补码还原到原码

为了从补码还原到原码,咱们能够依据补码的符号位采取不同的办法:

  1. 如果补码的符号位为 0(负数),则补码即为原码。
  2. 如果补码的符号位为 1(正数),则将补码减 1,而后取反,即可失去原码。

示例:

从补码 11111011 还原到原码:

 补码:11111011
减 1:11111010
取反:10000101

原码为 10000101,示意正数 -5

通过学习二进制补码的概念及其计算方法,咱们可能更好地了解计算机中有符号整数的示意形式和加减法运算。在后续学习 ARM 汇编的过程中,咱们会频繁地应用到补码表示法,因而熟练掌握补码的计算方法至关重要。
举荐浏览:

https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA

https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g

退出移动版