Computer terminology
Computer unit
比特(Bit)
比特是计算机中最小的数据单位。一个比特只能有两个值之一,即0
或1
。
比特是数据的基本单位,用于表示计算机中的状态或信息。8个比特构成1个字节。
字节(Byte)
字节是由8个比特组成的数据单位。一个字节可以表示256种不同的状态(28 = 256),通常用于表示一个字符。
字符(Character)
字符是指文本中的单个符号,可以是字母、数字、标点符号等。在计算机中,字符通常用一个或多个字节来表示。
ASCII编码中,一个字符通常用一个字节表示。例如,字母“A”的ASCII码是65,对应的二进制表示是01000001
。
Unicode是一种可以表示世界上所有文字和符号的编码标准。Unicode字符可以使用一个或多个字节来表示。例如,常用的UTF-8编码中,英文字符用1个字节表示,而中文字符通常用3个字节表示。
数据单位的换算
- 1 比特 (bit) = 1 比特
- 1 字节 (Byte) = 8 比特 (bit)
- 1 千字节 (KB) = 1024 字节 (Byte)
- 1 兆字节 (MB) = 1024 千字节 (KB)
- 1 吉字节 (GB) = 1024 兆字节 (MB)
- 1 太字节 (TB) = 1024 吉字节 (GB)
Computer numbers
二进制(Binary)
基本概念
- 基数:2
- 符号:0 和 1
- 位(Bit): 二进制中的每个数字称为“位”,是最小的信息单位。
- 字节(Byte):一个字节由8个位组成,通常是计算和存储数据的基本单位。
二进制的表示
二进制数通常以一串0和1表示。例如,二进制数 1011 表示的是一个四位二进制数,其中:
- 第一位(从右到左):1,表示 20的位置
- 第二位:1,表示 21的位置
- 第三位:0,表示 22的位置
- 第四位:1,表示 23的位置
将二进制数的每一位乘以对应的2的幂次,然后求和。
例如:1011(二进制) 转换为十进制。
2. 二进制转换八进制转换规则以及步骤:
- 分组:将二进制数从右向左每三位分一组。
- 补齐:如果最左边的一组不足三位,则在左边补0,使其成为三位。
- 转转:将每组三位二进制数转换为对应的八进制数。
示例1: 101110(二进制)转换为八进制
- 从右向左分组:101 110
- 这里已经满足了三位一组,不需要补齐操作
- 将每组转换为对应的八进制:5 6
因此,结果101110(二进制)转为八进制为56
示例2: 1101010(二进制)转换为八进制
- 从右向左分组:1 101 010
- 最左边的一组不足三位,用0补齐,补齐之后为:001 101 010
- 将每组转换为对应的八进制:1 5 2
因此,结果1101010(二进制)转为八进制为152
3. 二进制转换十六进制二进制和十六进制之间的转换相对简单,因为十六进制的基数是2的幂(即16 = 24)。
下表为二进制到十六进制的直接映射表
二进制 | 十六进制 |
---|---|
0000 | 0 |
0001 | 1 |
0010 | 2 |
0011 | 3 |
0100 | 4 |
0101 | 5 |
0110 | 6 |
0111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | A |
1011 | B |
1100 | C |
1101 | D |
1110 | E |
1111 | F |
转换规则以及步骤:
- 分组:将二进制数从右向左每四位分一组。
- 补齐:如果最左边的一组不足三位,则在左边补0,使其成为三位。
- 转转:将每组三位二进制数转换为对应的十六进制数。
示例1: 101110111011(二进制)转换为十六进制
- 从右向左分组:1011 1011 1011
- 这里已经满足了三位一组,不需要补齐操作
- 将每组转换为对应的八进制:B B B
因此,结果101110111011(二进制)转为十六进制为BBB。
示例2: 1101101011(二进制)转换为十六进制
- 从右向左分组:11 0110 1011
- 补齐之后:0011 0110 1011
- 将每组转换为对应的八进制:3 6 B
因此,结果1101101011(二进制)转为十六进制为36B。
二进制的应用
在编程中,二进制数常用于低级别的操作和优化,例如:
- 位操作:程序员可以使用位操作符(如
&
,|
,^
,~
,<<
,>>
)直接操作二进制数,以提高效率和性能。 - 掩码(Masking):通过掩码,可以选择性地操作或读取二进制数的特定位。例如,提取某些位的信息,或者设置某些位的值。
二进制数是计算机科学和数字技术的核心。理解和掌握二进制的基本概念、转换方法和应用场景,对于从事计算机科学和相关领域的学习和工作非常重要。
八进制(Octal)
八进制(Octal)是一种数值表示系统,基数为8,这意味着它使用八个符号来表示数值:0、1、2、3、4、5、6、7。 与二进制(基数2)、十进制(基数10)和十六进制(基数16)一样,八进制在计算机科学中也有特定的应用。
基本概念
- 基数:8
- 符号:0、1、2、3、4、5、6、7
八进制的表示
每一个八进制位表示3个二进制位,因为23=8。因此两者之间的转换变得比较简单。
1. 八进制转换二进制转换规则以及步骤:
- 将每个八进制位转换为对应的3位二进制位
- 将所有二进制位组合起来
示例1: 157(八进制)转换为二进制
- 1对应的二进制位001
- 5对应的二进制位101
- 7对应的二进制位111
因此,结果157(八进制)转为二进制为001101111。
示例2: 1111(八进制)转换为二进制
- 1对应的二进制位001
- 1对应的二进制位001
- 1对应的二进制位001
- 1对应的二进制位001
因此,结果1111(八进制)转为二进制为001001001001。
2. 八进制转换十进制转换规则以及步骤:
- 按位置展开:每一位乘以对应的8的幂次方
- 求和
示例1: 157(八进制)转换为十进制
3. 八进制转换十六进制由于八进制和十六进制都基于二进制的幂次(8 = 23,16 = 24),所以转换时通常先转换为二进制,再转换为目标进制。
转换规则以及步骤:
- 八进制转换二进制
- 二进制转为十六进制
示例1: 157(八进制)转换为十六进制
- 157转为二进制为 001 101 111
- 1101111 按四位分组补位为 0000 0110 1111
- 将每一组转为对应的十六进制 6F
因此,结果157(八进制)转为十六进制为 6F。
八进制的应用
八进制在早期计算机系统中有一些应用,因为它比二进制更简洁,且转换比十六进制简单。它常用于权限设置(如Unix/Linux文件权限)和低级编程语言中。
十进制(Decimal)
十进制(Decimal)是我们日常生活中最常用的数值表示系统,基数为10。这意味着它使用十个符号来表示数值:0、1、2、3、4、5、6、7、8、9。每一个位置的数值是基于10的幂次方。十进制系统也称为“基10”系统。
十进制的表示
一个十进制数由若干个数字组成,每个数字的位置决定了它的值。每个位置的值是该位置上的数字乘以10的幂次方。
例如,十进制数 2738 可以表示为:
1. 十进制转换二进制将十进制数不断除以2,记录每次的余数,直到商为0。最后将余数逆序排列。
示例1: 11(十进制) 转换为二进制
因此,逆序排列余数:1011(二进制)
2. 十进制转换八进制要将十进制数转换为八进制数,可以按以下步骤进行:
- 反复除以8,记录余数:直到商为0。
- 余数倒序排列。
示例1: 111(十进制)转换为八进制
因此,逆序排列余数:157(八进制)
3. 十进制转换十六进制同理,要将十进制数转换为十六进制数,可以按以下步骤进行:
- 反复除以16,记录余数:直到商为0。
- 余数倒序排列。
示例1: 47(十进制)转换为十六进制
因此,逆序排列余数:2F(十六进制),15(F)
十进制的应用
十进制广泛用于日常生活、科学计算、工程技术和金融等各个领域。我们在数数、做算术运算、测量和记录数据时都使用十进制。
十六进制(Hexadecimal)
基本概念
十六进制(Hexadecimal)也是一种数值表示系统,基数为16, 这意味着它使用16个符号来表示数值:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,其中A至F分别表示十进制的10至15。 十六进制在计算机科学和数字电子学中广泛使用,尤其是在表示二进制数据时。
十六进制表示
使用16个符号来表示数值:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,其中A至F分别表示十进制的10至15。 每个位置上的值是该位置上的符号乘以16的幂次方。
比如 十六进制2AF3可以表示为:
1. 十六进制转换二进制转换规则以及步骤:
- 将每个十六进制数转换为对应的四位二进制数。
- 组合所有的二进制数
示例1: 2F(十六进制)转换为二进制
- 2对应的二进制0010
- F对应的二进制1111
因此,2F(十六进制)转换为二进制是 00101111。
2. 十六进制转换十进制转换规则以及步骤:
- 按位置展开:每一位乘以对应的16的幂次方。
- 求和。
示例1: 2F(十六进制)转换为十进制
3. 十六进制转换八进制转换规则以及步骤:
- 将十六进制数转换为二进制数。
- 将二进制数转换为八进制数。
示例1: 157(十六进制)转换为八进制
- 十六进制数转换为二进制数
- 1对应的二进制 0001
- 5对应的二进制 0101
- 7对应的二进制 0111
得到的二进制是 000101010111
- 二进制转为八进制
- 按三位分组(补齐) 000 101 010 111
- 每组位数转为八进制 0 5 2 7
得到的八进制是 527
十六进制的应用
十六进制在计算机科学中有许多应用,尤其是在表示内存地址、颜色编码(如HTML和CSS中的颜色值)、和机器语言等方面。它比二进制更加紧凑,同时比十进制更容易转换为二进制。