Skip to content

计算机存储单位

很多人搞不懂:bit、字节、KB、MB、GB 到底是什么?为什么电脑中的单位是 1024 进制而不是 1000?为什么买的硬盘容量会「缩水」?网速 100 M 为什么下载只有 12 M?

本文从零底层触发,结合硬件电路、二进制逻辑、计算机寻址、行业标准历史,一次性讲通计算机所有存储基础单位,看透计算机存储的本质。

计算机最小单位 bit

bit(比特位)是计算机最小的信息单位,也是硬件电路的最小物理状态。所有数据、运算、存储、传输,归根结底都是无数个 bit 在工作。

计算机核心硬件是晶体管、电容、电路。电路只有两种最稳定、最可靠的物理状态:通电(1)和断电(0)。这两个状态就是 bit 的物理基础。

为什么仅两个状态?如果设计成 10 种状态(对应十进制 0~9),电路会及其复杂、极易出错、抗干扰能力极差。二进制双状态,是硬件稳定性、成本、效率的最优解。

1 b = 1 个晶体管的开关状态,仅能存储 0 或 1

bit 有以下三个核心特点:

  • bit 是最小单位,没有「半个 bit」的说法;
  • 单个 bit 只能存一个值(0 或 1),无法表示文字、数字、符号,必须多个 bit 组合使用;
  • 通常应用于硬件底层运算、网络带宽传输和端口信号传输。

基础存储单位 Byte

Byte(字节)是电脑、手机、文件、内存最小的可寻址、可读写、可用存储单元。所有文件大小、内存容量、数据存储,全部以字节为基础统计。

1 B = 8 b(Byte 和 bit 有大小写 b 的区别)

为什么「8 位 = 1 字节」?这是计算机行业最经典的标准,绝非随意规定,是编码需求 + 硬件适配 + 运算效率 + 行业统一的终极最优解。

首先需要知道的是,基础 ASCII 编码包含大小写字母、数字、标点、控制字符,共 128 个字符,仅需 7 位二进制(27=128)即可完整存储。

然而,计算机硬件、寄存器、数据总线都是按偶数位设计的,7 位奇数位会造成硬件寻址浪费、运算错位、校验困难等问题。补齐至 8 位的话,硬件读写、运算、存储逻辑都可以完全对称了。

多出的第 8 位作为检验位,用于检测数据传输、存储中的错误,大幅提升数据稳定性。这也是早起计算机数据纠错的核心机制。

同时,8 位二进制刚好对应 2 位十六进制(00~FF),是编程、硬件调试、内存读取的黄金适配,极大降低了底层开发成本。

8 位二进制总共可以组合出 28=256 种状态,根据是否区分正负,分为两种存储规则。这是编程、图像处理、底层运算的核心基础:

  • 无符号 8 位(Unsigned Byte)

    无符号位,所有 8 位全部用于存储数值,全程只表示非负数。最大值为 255(11111111),最小值为 0(00000000)。通常用于图片 RGB 颜色通道、透明度、灰度值、传感器数据、文件字节流等不需要负数的场景。

  • 有符号 8 位(Sined Byte,补码机制)

    最高位为符号位(硬件强制规则):0 代表整数,1 代表负数,剩余 7 位存储数值。计算机底层所有负数均以补码存储,目的是让减法可以转换成加法运算,简化 CPU 电路设计。其取值范围是 -128~127,其中整数占用 0~127,负数通过补码规则占用 -1~-128,刚好填满 256 种状态。通常用于程序变量运算、坐标偏移、温度差值、正负数据计算等。

1024 进制底层

KB、MB、GB、TB 是字节的高阶容扩单位,用于简化大容量存储的数值表达,从小到大顺序为:

B(Byte 字节)< KB(Kilobyte 千字节)< MB(Megabyte 兆字节)< GB(Gigabyte 吉字节)< TB(Terabyte 太字节)

电脑的内存、缓存、寄存器、地址总线,全部基于 2 的整数次幂设计。CPU 寻址、内存空间划分、数据块读写,只能是 2、4、8、16、32、1024……这类 2 的次方数。而 210=1024,这是二进制体系中唯一最接近十进制千级(1000)的数值。

工程师为了兼顾「计算机二进制硬件规则」和「人类十进制读数习惯」,直接借用了十进制的 K(千)、M(兆)、G(吉)前缀,形成了计算机专属的 1024 进制规则。

很多人可能会疑惑:29=512,也是二进制数,为什么不用 512 作为进阶单位?底层核心原因有 3 点:

  1. 512 和 十进制 1000 差距高达 48.8%,无法对应人类的「千、兆」量级概念,读数混乱、毫无通用性;

  2. 若采用 512 进制,存储单位层级会翻倍,内存寻址、数据分区、系统统计的逻辑会变得极度繁琐,硬件开销大幅增加;

  3. 10 次幂是二进制和十进制的最佳平衡点,兼顾硬件规整性、读数便捷性、行业通用性,是硬件工程师的最优设计选择。

以下为计算机系统底层原生换算规则,所有软件、系统、内存、文件大小均以此计算:

1KB=1024B=210B1MB=1024KB=220B1GB=1024MB=230B1TB=1024GB=240B

行业标准争议(两套进制共存的本质)

计算机行业长期存在二进制(1024)和十进制(1000)两套标准。这是硬盘、U 盘容量「缩水」的唯一核心原因,并非硬件造假。

二进制标准(KiB/MiB/GiB)属于计算机原生标准。贴合 CPU 寻址、内存二进制硬件结构,精准无误差。通常用于电脑或手机系统、内存、文件存储、文件大小等。以 1024 为进率换算,如 1 KiB = 1024 B。

十进制标准(KB/MB/GB)属于商用营销标准。因为十进制计算简单、数值更大、视觉容量更大,符合商用营销需求,同时适配国际度量衡通用规则。通常用于硬盘、固态硬盘、U 盘、内存卡、移动硬盘等存储硬件的出厂标注。以 1000 位进率换算,如 1 KB = 1000 B。

以厂商标注 500 GB 硬盘为例:

=500×10003=500000000000B

=500000000000÷10243465.66GB

网络传输原理

网速和下载速度的误区是很多人都不懂的底层差异,核心在于传输单位与存储单位的本质区别

  • b(bit,比特):网络传输、硬件信号传输单位(传输用最小位)
  • B(Byte,字节):文件存储、数据落地单位(存储用组合单位)

网络传输时,数据是以单个 bit(0/1 信号)连续传输的;数据落地保存时,电脑会自动将 8 个 bit 打包成 1 个字节存储,因此产生 8 倍固定差值。

举个例子,运营商宣传的 100 M 宽带 = 100 Mb/s(每秒传输 100 兆比特),但实际下载速度只有 100 / 8 = 12.5 MB/s(每秒保存 12.5 兆字节)。

同理,500 M 宽带下载峰值约 65.5MB/s,1000 M 宽带下载峰值约 125 MB/s。

各单位真实大小对照

  • 1 B(字节):最小存储单元,存储 1 个英文字母或数字,半个中文汉字(中文需 2 字节存储)
  • 1 KB:210 B,约 500 个汉字短文,常用于存储小型文本、代码片段、系统配置文件等
  • 1 MB:220 B,一张压缩手机照片、一手标准音质 MP3,是日常最常用的中小型文件单位
  • 1 GB:230 B,数百首音乐、数十条短视频、大型文档集合,是软件、视频的常用单位
  • 1 TB:240 B,海量照片、高清电影、资料备份,是家用、办公大容量存储单位

总结

  1. 硬件底层最小单位是 bit(位),对应电路 0/1 状态,仅用于传输和底层运算,无法单独存储有效数据;

  2. 存储最小可用单位是 Byte(字节),1 B = 8 b,8 位字节是编码、硬件、进制、行业标准的综合最优解;

  3. 8 位二进制共 256 种状态:无符号 0~255(图像数据),有符号 -128~127(程序运算、补码机制);

  4. 电脑采用 1024 进制,本质是适配硬件二进制寻址规则,210 是二进制与十进制的最佳平衡;

  5. 512 进制被淘汰,核心是量级偏离人类技术习惯,硬件层级冗余、实用性极差;

  6. 存储硬件厂商用 1000 进制,是硬盘容量「缩水」的唯一原因;

  7. 网速小 b、存储大 B,两者固定 8 倍差值,源于「传输用单 bit,存储用 8 bit打包字节」的底层机制;

  8. 正规二进制单位为 KiB/MiB/GiB,日常统一简写为 KB/MB/GB,属于行业通用规范。