【硬盘容量缩水真相】新买的U盘插上那刻我崩溃了:标称128G的存储为何只剩112G?

简介: 新买的硬盘或U盘在Windows中显示的容量为何与标称不符?其实并非商家“坑”,而是存储单位换算标准不同所致。本文详解bit、Byte、KB、MB、GB等存储单位的区别,介绍国际单位制(SI)与国际电工委员会(IEC)两种标准,解释为何500GB硬盘在系统中仅显示约465GB。带你从底层原理理解计算机存储单位的换算逻辑,揭开“消失”的容量之谜。

有这样的一个问题,刚刚新买的硬盘或者U盘插上之后,在Windows中显示的容量大小和你购买所标记的容量大小不一样, 那么会不会有人觉得被商家坑了呢?

今天给大家科普一下这个问题!

首先你要先了解一下~计算机中的一些存储单位: bit、Byte、KB、MB、GB~

这些单位是我们在学习计算机硬件存储知识之前 先了解一下这方面的认知,这样学习起来才会事半功倍!

计算机的最小容量存储单位bit与Byte

bit位

bit位 是计算机中表示信息的最小单位,因为电脑是用二进制来表示数据的,那么 1个bit来表示两种状态,0或1

要知道在计算机中的所有信息和数据,他们在底层最原始的表示方式也就是二进制比特位

Byte字节

Byte它的含义就是字节的意, 用大写字母B来表示, 用来表示计算机中的一个字符

一个字节Byte8个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、TBKiB、MiB、GiB、TiB 的换算标准不同,主要源于进制定义的差异和历史使用习惯的演变我们需要知道它们彼此的换算规则即可~

为什么会产生两种标准?

本身早期计算机基于二进制设计的, 而2的幂次方更符合硬件底层的逻辑! 就像 1024 = 2^10^

当时那个年代有人将1024近似为千(Kilo)导致我们后期的1KB = 1024字节这种非正式用法广泛传播。

而随着发展国际单位制(SI)IEC 标准 为了规范都提出了自己的计算标准表~

国际单位制SI标准

国际单位制SI标准千(Kilo)明确定义为 10^3^=1000, 而存储设备制造商使用的也就是这个标准进行生产存储设备,以标称更大的容量,导致消费者混淆, 例如: 1GB = 10^9^字节

而我们熟知的KB、MB、GB、TB就是按照这个国际单位制SI标准来的,具体换算规则如下

如下

1000 GB = 1TB

1000 MB = 1GB

1000 KB = 1MB

1000 Byte = 1KB

那么根据这个换算关系我们可以列举出国际单位制SI标准规律表

如下表

幂次方 数值 名称 单位名称
(10^3^)^1^ 1000 1千字节 1KB
(10^3^)^2^ 1,000,000 1兆字节 1MB
(10^3^)^3^ 1,000,000,000 1吉字节 1GB
(10^3^)^4^ 1,000,000,000,000 1太字节 1TB

从幂次方的底数上看着就是一种典型的十进制计算方式~

用十进制(1GB=10亿字节),数字显得更大,好卖货。

通常目前的硬盘 U盘等厂商用的就是这种存储计算方式!

举个栗子

500MB = 500 x 10^6^ = 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标准规律表

如下表

幂次方 数值 名称 单位名称
(2^10^)^1^ 1024 1千字节 1KiB
(2^10^)^2^ 1,048,576 1兆字节 1MiB
(2^10^)^3^ 1,073,741,824 1吉字节 1GiB
(2^10^)^4^ 1,099,511,627,776 1太字节 1TiB

从幂次方的底数上看着就是一种典型的二进制计算方式,因为计算机底层只能按2的幂次方干活!

而我们目前的Windows操作系统,就是这个标准进行计算大小容量的~

举个栗子

500MB = 500 x 2^20^ = 524,288,000字节‌‌

为什么你购买一块500GB的硬盘 只有465GB🌰

我们知道硬盘厂商SI标准, 而操作系统则是IEC标准

厂商的算法(十进制)如下:

500GB= 500 × 10^9^ =`500,000,000,000 字节

电脑的算法(二进制)如下

1GiB= 2^30^=1,073,741,824 字节

那么实际显示容量要按照一下方式来计算~

500,000,000,000字节 ÷ 1,073,741,824字节/GiB465.66GiB 也就是`465GiB左右!

这消失的容量也就是:`500 GB−465.66 GiB≈34.34 GB相当于直接少了约7% 你说这世界公平吗?

所以现在你知道为什么你购买的硬盘容量电脑中显示的容量不一样的原因了吧!

这里只是拿一个硬盘举例,类似于U盘,手机存储容量、固态 都是以此类推!

最后

十进制单位(KB、MB、GB、TB):用于存储设备标称、国际标准文档,以10为基数。

二进制单位(KiB、MiB、GiB、TiB):用于操作系统、内存、软件开发,以2为基数。

相关文章
|
达摩院 算法 决策智能
阿里达摩院研发了一款运筹优化算法开发平台
使用数学规划技术时,需要运用运筹学的知识分析问题、数学建模和开发程序来计算。平台式的开发环境,可以集成多款优化求解算法和数据处理软件,易于使用,能提高开发的效率,帮助快速将优化技术应用于业务。
阿里达摩院研发了一款运筹优化算法开发平台
|
消息中间件 NoSQL Java
Spring Cloud项目实战Spring Cloud视频教程 含源码
Spring Cloud项目实战Spring Cloud视频教程 含源码
369 1
explorer.exe 占用cpu或者内存高
本文分享一个explorer.exe 占用cpu或者内存高的案例
explorer.exe 占用cpu或者内存高
|
5月前
|
数据采集 人工智能 调度
传统IT企业如何在AI时代中找准定位、实现转型升级?—— 解析传统IT企业的AI转型策略
本文AI专家三桥君探讨传统IT企业在AI浪潮中的转型策略,提出从工具提供商向业务成果交付者的商业模式转变。核心观点包括:构建"操作系统式AI"技术架构、发展"智能体经济"组织模式、采用SMART策略实现高效部署。三桥君强调AI转型需商业模式、组织架构与技术体系的全面革新,为传统IT企业提供系统性转型框架。
320 0
|
监控 网络协议 关系型数据库
打造您的网站守护神:Uptime Kuma 的轻松监控之旅!
Uptime Kuma 是一款强大的自托管服务监控工具,支持多种监控方式(HTTP(s)、TCP、Ping等)及丰富的通知功能,帮助用户轻松监控网站和服务的可用性,及时响应问题,保障服务连续性。提供用户友好的界面和灵活的安装选项,包括Docker和源代码构建,适合各种技术背景的用户使用。阿里云还提供了计算巢一键部署方案,简化了Uptime Kuma的安装过程,让用户可以更快地开始使用。
755 2
|
JavaScript IDE 开发工具
python中的SyntaxError: invalid character in identifier(语法错误:标识符中有无效字符)
【5月更文挑战第14天】python中的SyntaxError: invalid character in identifier(语法错误:标识符中有无效字符)
1772 8
|
11月前
|
人工智能 前端开发 测试技术
为RTP-LLM提供Arm CPU后端,助力Arm
本次主题是为 RTP LLM 提供 Arm CPU 后端,助力 Arm AI 软件生态持续发展。随着大语言模型(LLM)的普及与应用, AI 计算需求快速增长。许多 LLM 模型运行在基于 GPU 的硬件上,而随着 Arm 架构不仅在边缘设备,而且在数据中心领域也愈发流行,如何让 RTP LLM (实时推理框架)有效支持 Arm CPU 平台变得尤为重要。通过优化 LLM 在 Arm 平台的推理性能,可以进一步提升功耗效率和模型部署的灵活性。
469 0
|
编译器 异构计算 索引
JAX 中文文档(五)(4)
JAX 中文文档(五)
297 0
|
存储 Linux 开发工具
Linux手动升级替换Android Studio
【6月更文挑战第22天】
457 8
|
安全 Unix Linux
Kali渗透测试:远程控制被控端免杀及DLL生成、注入反弹(二)
Kali渗透测试:远程控制被控端免杀及DLL生成、注入反弹(二)
563 0