📜  计算机-编号系统(1)

📅  最后修改于: 2023-12-03 14:57:31.558000             🧑  作者: Mango

计算机-编号系统

计算机中用于表示数据和内存地址的编号系统又称为“进位制”或“数制”。计算机中常见的编号系统有二进制、十进制、八进制和十六进制。在计算机科学中,十六进制用得最多,二进制用得较多,而十进制和八进制则用得较少。

二进制

二进制是一种由 0 和 1 两个数字组成的基数为 2 的编号系统。在计算机中,所有数据都是以二进制形式存储和传输的。二进制可以用于表示整数、小数、字符、图像等信息。

表示整数

在二进制中,每一位数字称为“位(bit)”,每 8 位为 1 个“字节(byte)”。二进制可以用于表示正整数、负整数和 0。

正整数

将 10 进制的数转换为二进制的方法是:将该数不断除以 2,直到商为 0,依次取其余数,每一位从低位到高位填入二进制中。例如,将 10 转换为二进制:

10 ÷ 2 = 5 ... 0
 5 ÷ 2 = 2 ... 1
 2 ÷ 2 = 1 ... 0
 1 ÷ 2 = 0 ... 1

余数从低位到高位的顺序是 0、1、0、1,因此 10 的二进制表示为 1010。

负整数

负整数的二进制表示方法是在其对应的正整数的二进制表示前加上符号位“1”。例如,-10 的二进制表示为 11110110。

0

在二进制中,0 的表示方法为全 0,即 00000000。

表示小数

在二进制中,小数点的位置由“位权”决定。从小数点的左边从低位到高位的位权分别为 2-1, 2-2, 2-3......从小数点的右边从低位到高位的位权分别为 20,21,22......

将十进制小数转换为二进制的方法是:将小数部分不断乘以 2,直到乘积的整数部分为 0 或达到了指定的精度,依次取其整数部分,每一位从小数点的右边从低位到高位填入二进制中。例如,将 0.625 转换为二进制:

0.625 × 2 = 1.25 ... 1
0.25 × 2 = 0.5 ... 0
0.5 × 2 = 1.0 ... 1

整数部分依次为 1、0、1,因此 0.625 的二进制表示为 0.101。

表示字符

在计算机中,每个字符都有一个对应的 ASCII 码(或 Unicode 码)。ASCII 码采用 7 个二进制位表示一个字符,可表示 128 个字符,包括字母、数字、符号等。Unicode 码采用 16 个二进制位表示一个字符,可表示几乎所有的语言文字。

表示图像

二进制可用于表示图像中的像素。每个像素可以用一个二进制数表示其颜色、亮度等信息。将所有像素按行、列顺序排列,便可以得到一个二进制矩阵,从而绘制出一幅图像。

十进制

十进制是一种由 0 到 9 十个数字组成的基数为 10 的编号系统。在日常生活中,我们大多数时候使用的就是十进制。

八进制

八进制是一种由 0 到 7 八个数字组成的基数为 8 的编号系统。在计算机科学中,八进制用得较少,主要用于表示文件的权限等信息。

十六进制

十六进制是一种由 0 到 9 十个数字和 A 到 F 六个字母组成的基数为 16 的编号系统。在计算机科学中,十六进制用得最多,常用于表示颜色、内存地址等信息。

将十进制数转换为十六进制数的方法是:不断除以 16,直到商为 0,依次取其余数,将每个余数对应的十六进制数填入十六进制中。例如,将 1072 转换为十六进制:

1072 ÷ 16 = 67 ... 0
  67 ÷ 16 = 4 ... 3
   4 ÷ 16 = 0 ... 4

余数从低位到高位的顺序是 0、3、4,因此 1072 的十六进制表示为 430。

总结

十六进制在计算机领域中应用广泛,程序员应该熟练掌握二进制、十进制、八进制和十六进制的转换方法,以便于处理数据、内存地址等问题。同时,还应熟悉 ASCII 码、Unicode 码等字符编码体系,了解像素二进制表示,使得自己能更好地理解和开发计算机软件。