🚀 个人主页 极客小俊
✍🏻 作者简介:程序猿、设计师、技术分享
🐋 希望大家多多支持, 我们一起学习和进步!
🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注
有这样的一个问题,刚刚新买的硬盘
或者U盘
插上之后,在Windows
中显示的容量大小
和你购买所标记的容量大小不一样, 那么会不会有人觉得被商家坑了呢?
今天给大家科普一下这个问题!
首先你要先了解一下~计算机中的一些存储单位: bit、Byte、KB、MB、GB
~
这些单位是我们在学习计算机硬件存储知识之前 先了解一下这方面的认知,这样学习起来才会事半功倍!
计算机的最小容量存储单位bit与Byte
bit位
bit位
是计算机中表示信息的最小单位,因为电脑是用二进制来表示数据的,那么 1个bit
来表示两种状态
,0或1
要知道在计算机中的所有信息和数据,他们在底层最原始的表示方式也就是二进制比特位
Byte字节
Byte
它的含义就是字节
的意, 用大写字母B
来表示, 用来表示计算机中的一个字符
一个字节Byte
由8个bit位
所组成 也就是 1Byte = 8bit, 在计算机中一个二进制位bit
是构成存储器
的最小单位,8位二进制bit位
组成一个存储单元
,称为一个字节Byte
如图
举个栗子
1 字节(Byte) = 8 位(bit)
这是计算机领域最基础的要领
例如:在ASCII编码
情况下,字符A
存储为01000001
,占1字节(8位)
一个二进制
文件的大小本质是以位
存储的,但为了方便,通常才使用的字节
来进行表示!
一个英文字母
占据计算机中的一个字符,也就是占一个字节
那么换算下来这一个英文字母
在底层
就需要8bit二进制
来进行表示
一个中文汉字
在不同的编码情况下,占据计算机中的个字节数量也是不一样的
举个栗子
例如``UTF-8编码下汉字占
3字节`
那么换算下来这一个中文汉字
在底层
如果是以3个字节
表示,那么就需要24bit二进制
来进行表示!
KB、MB、GB、TB 存储单位
为了方便我们查看和记忆容量存储单位,在后来的发展中计算机内部就衍生出了KB、MB、GB、TB
这些单位~
了解他们彼此的换算公式非常有必要
例如
我们已经知道了``1 字节(Byte) = 8 位(bit)`
那么1KB(千字节) = 1000B 字节 = 8000b 位 = 8kb(千位)
所以``8kb(千位)=
1KB(千字节)`
但是在我们日常接触当中KB、MB、GB、TB
这些单位有两种标准~一般分为如下两种
KB、MB、GB、TB换算标准
和KiB、MiB、GiB、TiB换算标准
在计算机存储和数据传输领域,KB、MB、GB、TB
与 KiB、MiB、GiB、TiB
的换算标准不同,主要源于进制
定义的差异和历史使用习惯的演变我们需要知道它们彼此的换算规则
即可~
为什么会产生两种标准?
本身早期计算机基于二进制
设计的, 而2的幂次方
更符合硬件底层的逻辑! 就像 1024 = 210
当时那个年代有人将1024
近似为千(Kilo)
导致我们后期的1KB = 1024字节
这种非正式用法广泛传播。
而随着发展国际单位制(SI)
和 IEC 标准
为了规范都提出了自己的计算标准表~
国际单位制SI标准
国际单位制SI标准
中千(Kilo)
明确定义为 103=1000, 而存储设备制造商
使用的也就是这个标准进行生产存储设备,以标称更大的容量,导致消费者混淆, 例如: 1GB = 109字节
而我们熟知的KB、MB、GB、TB
就是按照这个国际单位制SI标准
来的,具体换算规则
如下
如下
1000 GB = 1TB
1000 MB = 1GB
1000 KB = 1MB
1000 Byte = 1KB
那么根据这个换算关系
我们可以列举出国际单位制SI标准
规律表
如下表
幂次方 | 数值 | 名称 | 单位名称 |
---|---|---|---|
(103)1 | 1000 | 1千字节 | 1KB |
(103)2 | 1,000,000 | 1兆字节 | 1MB |
(103)3 | 1,000,000,000 | 1吉字节 | 1GB |
(103)4 | 1,000,000,000,000 | 1太字节 | 1TB |
从幂次方的底数
上看着就是一种典型的十进制计算方式~
用十进制(1GB=10亿字节),数字显得更大,好卖货。
通常目前的硬盘 U盘
等厂商用的就是这种存储计算方式!
举个栗子
500MB
= 500 x 106 = 500,000,000字节
国际电工委员会(IEC)标准
为避免混淆,国际电工委员会(IEC)
就制定了使用二进制前缀, 比如KiB、MiB、GiB、TiB
来代表
那么按照这个国际电工委员会(IEC)
来的,具体换算规则
如下
1KiB = 1024 字节 = 8192 位
那么``KiB、MiB、GiB、TiB`的计算如下
如下
1024 GiB = 1TiB
1024 MiB = 1GiB
1024 KiB = 1MiB
1024 Byte = 1KiB
那么根据这个换算关系
我们可以列举出IEC标准
规律表
如下表
幂次方 | 数值 | 名称 | 单位名称 |
---|---|---|---|
(210)1 | 1024 | 1千字节 | 1KiB |
(210)2 | 1,048,576 | 1兆字节 | 1MiB |
(210)3 | 1,073,741,824 | 1吉字节 | 1GiB |
(210)4 | 1,099,511,627,776 | 1太字节 | 1TiB |
从幂次方的底数
上看着就是一种典型的二进制计算方式,因为计算机底层只能按2的幂次方干活!
而我们目前的Windows操作系统
,就是这个标准进行计算大小容量的~
举个栗子
500MB
= 500 x 220 = 524,288,000字节
为什么你购买一块500GB的硬盘 只有465GB🌰
我们知道硬盘厂商
是SI标准
, 而操作系统
则是IEC标准
厂商的算法(十进制)如下:
500GB
= 500 × 109 =``500,000,000,000 字节`
电脑的算法(二进制)如下
1GiB
= 230=1,073,741,824 字节
那么实际显示容量要按照一下方式来计算~
500,000,000,000字节 ÷ 1,073,741,824字节/GiB
≈ 465.66GiB
也就是``465GiB`左右!
这消失的容量也就是:``500 GB−465.66 GiB≈34.34 GB相当于直接少了约
7%` 你说这世界公平吗?
所以现在你知道为什么你购买的硬盘容量
在电脑中
显示的容量不一样的原因了吧!
这里只是拿一个硬盘举例,类似于U盘,手机存储容量、固态
都是以此类推!
最后
十进制单位(KB、MB、GB、TB)
:用于存储设备标称、国际标准文档,以10为基数。
二进制单位(KiB、MiB、GiB、TiB)
:用于操作系统、内存、软件开发,以2为基数。
"👍点赞" "✍️评论" "收藏❤️"
欢迎一起交流学习❤️❤️💛💛💚💚
好玩 好用 好看
的干货教程可以
点击下方关注❤️
微信公众号❤️
说不定有意料之外的收获哦..🤗嘿嘿嘿、嘻嘻嘻🤗!
🌽🍓🍎🍍🍉🍇