写跨境干货
也写生活顿悟

进制概念与类型概览:十进制、二进制、八进制与十六进制解读(4)

#Web前端学习笔记

引言:为什么要学习进制?

当我们在电脑上敲下一段文字、在手机上玩游戏、或者在网页里写下一行代码时,很少有人会去想:这些内容在计算机内部究竟是怎样被存储和处理的。
其实,所有的数据——不管是文字、图片,还是视频、音乐,最后都会以 0 和 1 的形式存放在计算机的底层世界里。

这个“0”和“1”的世界,就是我们常说的 二进制
不过,二进制并不是唯一存在的数数方式。我们日常生活中使用的 十进制,以及在计算机相关领域里会遇到的 八进制十六进制,它们都属于“进制”。

理解这些进制,就像是学会不同的语言。十进制是我们每天在用的“母语”,而二进制、十六进制,则是计算机的“母语”。掌握它们,可以帮助我们更好地理解计算机的运作逻辑,也能在学习编程、网页开发的过程中更加得心应手。

什么是进制?

简单来说,进制就是一种“数数的方法”
在日常生活里,我们习惯用“十进制”来数数,也就是数到 9 之后,下一位就要进位,变成 10。

“满几进一”就是进制的核心。

  • 十进制:满 10 进一。
  • 二进制:满 2 进一。
  • 八进制:满 8 进一。
  • 十六进制:满 16 进一。

我们常说“某某进制”,其实就是在说:这个数数体系里,一共有多少个“基本数字”可以使用。
比如:

  • 十进制有 10 个数字(0–9)
  • 二进制只有 2 个数字(0 和 1)
  • 八进制有 8 个数字(0–7)
  • 十六进制则多达 16 个数字(0–9 + A–F)

理解这一点,你就能把进制看作是不同的“数数规则”。它们看上去不同,但本质上都是在表达“数量”的方式。

十进制(Decimal):我们最熟悉的数数方式

在所有的进制里,十进制是我们最熟悉、最自然的一种。因为从小到大,我们数数、写数字、算数学题,几乎都是在用十进制。

1. 满十进一的规则

顾名思义,十进制的特点就是:满十进一
我们来复习一下最基本的数数过程:

  • 0 开始,依次是 1、2、3、4、5、6、7、8、9;
  • 当个位“数满了”,再加 1 的时候,就要进位:个位清零,十位变成 1,这样就得到了 10
  • 接着是 11、12、13……直到 19;
  • 再加 1,就变成 20
  • 依此类推,十位满了进百位,百位满了进千位……

这个过程,我们小时候学加法的时候就接触过,其实它背后的规律就是 进制的本质

2. 单位数字:只有 0–9

很多同学可能会疑惑:“我们日常生活里不是有无数个数字吗?怎么会说十进制里只有 10 个数字呢?”

这里的“数字”,指的是 单位数字(digit),也就是构成数字的最小符号。

  • 在十进制里,单位数字一共有 10 个:0, 1, 2, 3, 4, 5, 6, 7, 8, 9
  • 其他像 10、11、123 这样的数,实际上是由多个单位数字组合而成的数值。

所以,十进制的“核心字母表”只有 0–9 这 10 个符号。就像字母表只有 26 个字母一样,但通过不同的排列组合,我们可以拼写出无数个单词。

3. 位权的含义

十进制里的每一位都有它自己的“权重”:

  • 个位:代表有多少个 1
  • 十位:代表有多少个 10
  • 百位:代表有多少个 100
  • 千位:代表有多少个 1000

比如数字 2345

  • 个位上的 5,表示 5 个 1;
  • 十位上的 4,表示 4 个 10;
  • 百位上的 3,表示 3 个 100;
  • 千位上的 2,表示 2 个 1000。

所以:
2345 = 2000 + 300 + 40 + 5

这就是十进制数值的分解原理。

二进制(Binary):计算机的语言

如果说十进制是我们人类最熟悉的数数方式,那么 二进制就是计算机最熟悉的“语言”。

1. 满二进一的规则

二进制的特点很简单:满二进一
它的数数方式和十进制类似,只不过:

  • 十进制有 0–9 共 10 个数字
  • 二进制只有 0 和 1 共 2 个数字

所以,数数过程是这样的:

  • 0 开始,然后是 1
  • 继续加 1,就要进位了:个位清零,前一位变成 1,于是得到 10
  • 接着是 11
  • 再加 1,个位满 2,要进位,于是变成 100
  • 然后是 101、110、111……

二进制数表(前几个数):

十进制二进制
00
11
210
311
4100
5101
6110
7111
81000

可以看到,二进制的写法虽然不同,但表达的数量和十进制是一致的。

2. 为什么计算机使用二进制?

原因很直观:

  • 在电子电路里,一个开关只有两种状态:通电(1)断电(0)
  • 如果我们用十进制,就需要能稳定区分 10 种状态,这在物理实现上几乎不可能。
  • 所以,最简单、最稳定的方法,就是用二进制来存储和处理所有信息。

因此,计算机的底层世界就是由无数个 0 和 1 组成的
无论是你在玩游戏、看电影,还是写网页,所有的数据最后都会被转换成二进制来保存和运算。

3. 二进制的单位数字

二进制里只有两个单位数字:0 和 1
在这里,你永远不会看到数字“2”,因为它已经意味着要进位了。

就像十进制里,单个数字不能出现“10”一样,二进制的世界里也只承认“0”和“1”。

八进制(Octal):了解即可

在十进制和二进制之间,其实还存在一种叫做 八进制 的进制。
不过,它在现实生活和计算机里都比较少见,我们只需要了解一下即可。

1. 满八进一的规则

八进制的规则是:满八进一

  • 它的单位数字一共有 8 个:0, 1, 2, 3, 4, 5, 6, 7。
  • 当数到 7 之后,再加 1 的时候,就要进位了,变成 10(注意,这里的 “10” 表示八进制的八,而不是十进制的十)。

比如八进制的数数过程:

  • 0, 1, 2, 3, 4, 5, 6, 7;
  • 再加 1 → 10(相当于十进制里的 8);
  • 11, 12, … 17;
  • 再加 1 → 20(相当于十进制里的 16)。

八进制和十进制对照表(部分):

十进制八进制
00
11
77
810
911
1517
1620

2. 生活中的影子

在现代生活里,我们几乎用不到八进制。
可能会在一些成语或者旧制衡量方式中见到,比如:

  • “半斤八两” → 就源于过去的重量单位里,1 斤 = 16 两,所以半斤就是 8 两。这里就和“八进制”的思路有点像。

不过除了这种文化遗留的说法,现实中基本不会再使用八进制。

3. 在计算机中的应用

在计算机世界里,八进制的使用也非常少。
早期它偶尔会被用来简化二进制表示(因为一个八进制位正好对应 3 个二进制位),但随着十六进制的普及,八进制的地位越来越弱。

十六进制(Hexadecimal):二进制的便捷表示

相比八进制,十六进制在计算机领域就重要得多了。它的特点是:满十六进一

1. 单位数字:0–9 + A–F

十六进制需要 16 个单位数字
但是我们常见的阿拉伯数字只有 0–9 共 10 个,那还差 6 个怎么办?
于是,人们引入了字母:

  • A = 10
  • B = 11
  • C = 12
  • D = 13
  • E = 14
  • F = 15

这样,就凑齐了 16 个基本符号:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

所以在十六进制里:

  • 数到 9 之后,接下来就是 A、B、C、D、E、F;
  • 再加 1,就进位成 10(注意这里的 “10” 是十六进制的数,等价于十进制里的 16)。

2. 数数示例

十进制和十六进制对照表(前 20 个数):

十进制十六进制
00
11
99
10A
11B
12C
13D
14E
15F
1610
1711
1812
1913

这样就能理解:十六进制其实和十进制一样,只是换了一套“符号表”。

3. 为什么要用十六进制?

在日常开发里,我们不会直接用二进制来书写或阅读数据,因为二进制数太长了。

举个例子:

  • 一个字节(Byte) = 8 个二进制位(bit)。
  • 如果写成二进制,可能是 11111111
  • 但如果换算成十六进制,就简洁成了 FF

这样,表示更短、更直观,阅读和记录都更加方便。

4. 常见应用

你可能会在很多地方见到十六进制:

  • 颜色表示:网页开发里常见的 #FFFFFF(白色)、#000000(黑色),其实就是用十六进制表示的颜色值。
  • 内存地址:调试程序时,经常会看到形如 0x1A2B 的地址。
  • 文件查看:用“十六进制编辑器”打开文件时,你会发现里面充满了 A–F 和 0–9 的组合。

所以,十六进制是计算机世界里非常常见、非常实用的一种进制。

计算机中的存储单位

前面我们提到:计算机底层的一切数据,最终都会以二进制(0 和 1)来表示和存储
那这些 0 和 1 是怎样被组织和使用的呢?这就涉及到计算机的存储单位。

1. 位(bit)

  • bit(比特,简称 b) 是计算机中最小的存储单位。
  • 它只能存放两种状态:0 或 1
  • 你可以把它想象成一个很小的“格子”,里面要么有电(1),要么没电(0)。

2. 字节(Byte)

  • 单独一个 bit 太小,计算机通常是 8 个 bit 作为一组,称为 1 Byte(字节,简称 B)
  • 也就是说:1 B = 8 b
  • 举个例子:一个字母 A 在计算机中通常就占用 1 个字节。

3. 常见存储单位换算

计算机世界里,我们经常会听到 KB、MB、GB、TB 这些单位,它们之间的关系是:

  • 1 KB(千字节) = 1024 B
  • 1 MB(兆字节) = 1024 KB
  • 1 GB(吉字节) = 1024 MB
  • 1 TB(特字节) = 1024 GB
  • 1 PB(拍字节) = 1024 TB

注意:这里的进位是 1024 而不是 1000。
这是因为计算机使用的是二进制,1024 = 2¹⁰,非常适合二进制的表示。

4. 为什么最小操作单位是字节?

从物理存储的角度看,bit 是最小的单元
但在编程和系统操作中,最小能直接操作的单位是字节(Byte)

换句话说:

  • 你不能单独修改某一个 bit;
  • 你最少得以 1 个字节(8 个 bit) 为单位去操作数据。

这也是为什么我们在保存文件时,即使内容很小(比如只有 1 个字母),它至少也要占用 1 个字节的存储空间。

进制的实际应用与转换

学了十进制、二进制、八进制和十六进制后,很多人可能会问:这些进制在实际开发中到底怎么用?我真的需要天天去手写二进制吗?

答案是:不用
因为二进制虽然是计算机的底层语言,但它对于人类来说太冗长、太不直观了。

1. 二进制为什么不直接用?

假设我们要写一个字节的数据:

  • 用二进制表示可能是:11111111(8 个数字)。
  • 如果是两个字节,就要写成:11111111 11111111(16 个数字)。
  • 当数据量更大时,二进制写法会变得极其难读,几乎没办法人工处理。

所以,二进制适合机器使用,不适合人类直接操作

2. 十六进制的简化作用

为了让人类能更轻松地阅读数据,我们通常把二进制转换成十六进制:

  • 11111111 (二进制) = FF (十六进制)
  • 11111111 11111111 (二进制) = FFFF (十六进制)

你可以看到:同样的内容,十六进制更短、更直观,非常适合人来阅读和书写。

这就是为什么在编程、网页开发、操作系统调试中,我们经常会看到十六进制的身影。

3. 常见的应用场景

  • 颜色表示:网页中的 #FF0000 就是红色,#00FF00 是绿色,这些颜色值本质上就是十六进制数。
  • 内存地址:在调试程序时,经常会看到 0x1A2B 这样的地址,其中的 0x 就表示这是一个十六进制数。
  • 文件分析:使用十六进制编辑器打开文件,里面满屏的 A–F 和 0–9,都是十六进制表示的数据。

4. 如何进行进制转换?

如果你想在学习或工作中实际操作进制转换,不用手算,直接用电脑就行:

  • Windows 系统:自带的“计算器” → 切换到 程序员模式,即可在二进制、八进制、十进制、十六进制之间互相转换。
  • Mac 系统:同样在“计算器”中提供了进制转换功能。
  • 当然,你也可以用在线工具或编程语言(如 Python 的 bin()hex() 函数)来完成进制转换。

5. 小结

  • 日常生活 → 我们用十进制。
  • 计算机底层 → 它用二进制存储和运算。
  • 人类开发和阅读 → 我们通常用十六进制来简化二进制的表示。
  • 八进制 → 了解即可,在现代开发中很少用。

总结

通过这一篇文章,我们从最熟悉的十进制开始,一步步认识了二进制、八进制和十六进制。

  • 十进制:日常生活中最常见的进制,满十进一。
  • 二进制:计算机底层的语言,只有 0 和 1。
  • 八进制:曾经在早期计算机中用过,现在几乎不用,了解即可。
  • 十六进制:阅读和表示二进制的简便方式,在编程和网页开发中应用广泛。

除此之外,我们还理解了 bit(位)、Byte(字节)、KB、MB、GB 等存储单位,以及它们和进制之间的关系。

如果你是初学者,不必被复杂的进制转换吓倒。记住这几点就够了:

  1. 十进制是人类习惯的数数方式。
  2. 二进制是计算机的底层语言。
  3. 十六进制是二进制的简化表示,经常会遇到。
  4. 八进制只要知道存在就行。

当你在写网页、学习编程或者调试代码时,再次遇到这些概念,就不会再觉得陌生了。

赞(0)
未经允许不得转载:南希说 » 进制概念与类型概览:十进制、二进制、八进制与十六进制解读(4)

评论 抢沙发

登录

找回密码

注册