跳至内容

数字电路/二进制系统

来自维基教科书,开放的书籍,为开放的世界

二进制数

[编辑 | 编辑源代码]
十进制 二进制 八进制

(基数 8)

十六进制

(基数 16)

00 0000 00 0
01 0001 01 1
02 0010 02 2
03 0011 03 3
04 0100 04 4
05 0101 05 5
06 0110 06 6
07 0111 07 7
08 1000 10 8
09 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

为了将十进制数转换为二进制数,您必须以 2 的幂而不是 10 的幂来思考。

幂表示 24 23 22 21 20
权重 16 8 4 2 1

1111 = 15 是

幂表示 24 23 22 21 20
权重 16 8 4 2 1
十进制值“15” 0 1 1 1 1

23 + 22 + 21 + 20 = 8+4+2+1 = 15.

用二进制表示 31 = 11111 是

24 + 15,如上所述。



请记住,最低有效位(传统上是最右边的)数字是 20,等于 1。


进制转换

[编辑 | 编辑源代码]

根据角色

八进制和十六进制数

[编辑 | 编辑源代码]

二进制是数字电路的固有数字系统,但对于人类来说,长串的 1 和 0 并不容易读写。因此,人们开发了易于与二进制进行转换的数字系统,包括八进制和十六进制。

八进制数字系统是基数 8,与我们的本机数字系统(十进制)是基数 10 相比。在基数 8 中,仅使用 0 到 7 的数字。每个八进制数字可以用三个二进制位表示,如上转换表(在二进制数字下)所示。

八进制和二进制之间的转换很简单。要从八进制转换为二进制,将每个八进制数字转换为其三位等效值,反之亦然。

类似地,十六进制数字系统(基数 16)便于与二进制进行转换。每个十六进制数字正好表示四个二进制位,如上表所示。

请注意,在十六进制中,字母 A 到 F 用于分别表示 10 到 15 的十进制等效值。

长串的位可以使用八进制和十六进制以更紧凑的方式表示。在这两者中,十六进制更常用。由于每个十六进制数字代表四个位,因此十六进制非常适合表示现代系统中可能出现的数值(16、32 或 64 位)。十六进制值通常以“0x”表示 - 例如,0xFF 是 255 的十六进制等效值。

一补码是通过取给定数字(用二进制表示),然后“翻转”每个位来计算的,这样原始数字中的每个 0 现在在一位补码中表示为 1,原始数字中的每个 1 在一位补码中表示为 0。二进制数与其一补码的逻辑与全为 0。二进制数与其一补码的逻辑或全为 1。

二补码是通过取二进制值的位补码,然后加 1 来形成的。二补码用于表示有符号整数。一个数字的负数表示为原始数字的二补码。减法可以通过将值的负数(二补码)添加到另一个值来执行。N 位可以表示的最小整数是 -2N-1,而最大数字是 2N-1-1。

AB78(十六进制)= 1010 1011 0111 1000(二进制)0xAB78 的一位补码是 0101 0100 1000 0111。0xAB78 的二补码是 0101 0100 1000 1000。

1F1F(十六进制)= 0001 1111 0001 1111(二进制)0x1F1F 的一位补码是 1110 0000 1110 0000。0x1F1F 的二补码是 1110 0000 1110 0001。

华夏公益教科书