二进制数系统
规范覆盖范围
|
在上一章中,我们研究了常见的数制和进制。我们使用不同的数制,因为人类倾向于使用十进制,而计算机只能以二进制处理数据。作为计算机科学专业的学生,我们需要了解二进制的工作原理以及计算机如何在二进制中进行计算。
有一种快速的方法可以找出给定位数的最大值。使用下面的公式,您可以找出使用 8 位二进制时可以获得的最大十进制值。
最大十进制值 = , 表示位数。
例子 例如,对于 8 位: 当然,在无符号二进制中,最小十进制值为 0。 |
还有一种方法可以找出最大组合数,您只需使用以下公式:, 表示位数。
例子 例如,对于 8 位: 这意味着如果您使用 8 位二进制,则有 256 种可能的组合。如果您使用 2 位二进制,也称为 个字节,您将执行以下操作: 这些将是 4 种组合
|
许多二进制算术问题有多个标记。在某些情况下,您不仅应该,而且必须展示您的工作! |
要将两个数字在二进制中加在一起,首先将数字对齐,就像您在十进制中进行列加法一样。
例子 1 1 (carried digits)
0 0 1 1 0 0 1 0
+ 1 0 1 1 0 1 0 1
-------------------
= 1 1 1 0 0 1 1 1
现在从右侧开始添加列,记住您只能使用 0 和 1。
您可以通过将所有数字转换为十进制,进行加法运算,然后将答案转换回二进制来检查您的答案。 在本例中,第一个数字的答案是 50,第二个数字是 181,所以答案应该是 231。 |
在二进制中进行乘法,您需要将第一个数字乘以第二个数字的每一位数字,从右边开始(与您在十进制中进行乘法的方式相同)。这意味着您将每个数字乘以 0 或 1,这将为您提供 0 或 1 作为答案。然后您对下一个数字进行相同的操作,将您的答案向左移动,就像您在十进制乘法中做的那样。
当您看到有人演示时,您通常更容易理解。YouTube 上有很多关于此主题的视频。 |
然后您进行二进制加法以找到最终答案。例如,要将 11011 乘以 11
例子 1 1 0 1 1
x 1 1
-------------------
= 1 1 0 1 1
+ 1 1 0 1 1 0
-------------------
= 1 0 1 0 0 0 1
1 1 1 1 (carried digits)
请注意 LSB(最低有效位)上的零,因为数字已向左移动。 同样,您可以通过将二进制转换为十进制来检查您的答案。在本例中,第一个数字是 27(二十七),第二个数字是 3(三),所以答案是 81(八十一)。 二进制乘法的规则与十进制相同
|
二进制补码是一种用于在二进制形式中表示带符号整数的方法。这意味着它可以用于表示正整数和负整数。本节展示了二进制补码如何表示负整数。
假设我们要使用二进制补码将二进制代码 100111002 转换为十进制。
步骤 1 写出十进制(或十进制,如果您愿意)等价物,如所示
|
步骤 1 |
蛋糕日星期五加入我们!!!
MSB | LSB | ||||||
---|---|---|---|---|---|---|---|
1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |