如何用二进制前缀显示字节大小?

如何用二进制前缀显示字节大小?

我记得,Microsoft DOS 和 Windows 一直使用十进制前缀而不是二进制前缀来显示字节大小。多年来,这至少困扰了两代计算机用户。一定有至少网络上有6 个类似“为什么我的 X GB 硬盘驱动器仅显示 Y GB?”的问题。

使用十进制前缀显示字节大小并没有错。真的!但是当你使用基于二进制的大小计算并在其前面加上十进制前缀时,它就变成了一个彻底的混乱!

diskpart下面是Windows 上32 GB 磁盘分区的显示示例。

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
  Partition 1    Primary             29 GB  1024 KB

这有什么合理、合乎逻辑的理由吗?为什么微软在最新的 Windows 版本中仍然延续这种不良做法?

我认为他们至少应该考虑效仿 Canonical 对 Ubuntu Linux 的做法。他们使用十进制前缀,使用十进制计算来显示磁盘和文件大小。因此在 Ubuntu 中,500 GB 的磁盘将显示为 500 GB。呸!是的!瞧!

parted以下是Ubuntu 中相同磁盘分区的显示情况。

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  32.0GB  32.0GB  primary  fat32        lba

我想要一个 Ubuntu 方法的翻转版本,其中我有基于二进制的大小计算和二进制前缀。如何在 Windows 上做到这一点?是否有一些隐藏选项或注册表破解?Linux 怎么样?

答案1

我可以快速回答你桌面环境 Kubuntu 14.04.2 LTS 下的 4.13.3。
搜索以下内容:

System Settings  
   +---> Country/Region & Language   
     +---> Other
       +---> Byte Size and Unit  

您可以选择

  • IEC 单位(kiB、MiB 等)例如 2000 字节 = 1.95 KiB
  • JEDEC单位(KB、MB 等)例如 2000 字节 = 1.95 KB
  • 公制单位(kB、MB 等)例如 2000 字节 = 2.00 kB

我很确定您可以在其他桌面环境中找到类似的选项......

笔记:确切的差异来自于“人类”10 3 =1000,并且“逻辑”2 10 =1024...


历史注释:
供应商和法律:我们之所以有这种困惑,是因为供应商的行为遵循市场规则,而法律并没有强迫他们这样做。我的意思是说,说这个硬盘是 4 GB 比说它是 3.78 GB 更畅销。出于同样的原因,互联网提供商经常谈论基点让你明白基点。有一个因子 8:一个字节() 为 8 位(b)。

问题是法律是存在的,但并非所有国家的法律都相同。

国际体系, 或者国际单位制,是世界上商业和科学领域使用最广泛的标准(该标准于 1960 年出版,目前只有美国、缅甸和利比里亚在采用该标准)。
它不仅规定了计量单位,甚至还规定了前缀

因为它是自然的在计算机世界中,使用 2 的幂作为数字基数(而不是 10 的幂,如人类世界)于1998年引入了二进制前缀。这里直接桌子。如今我们发现的情况是

the International Electrotechnical Commission (IEC) and several other standards
(NIST...) and trade organizations approved standards and recommendations 
for a new set of binary prefixes that refer unambiguously to powers of 1024

当你阅读时1GB它应该是1 000 000 Bytes
相反当你阅读时1GiB它应该是1 073 741 824 Bytes


其他参考Additional References

相关内容