【问题标题】:Really 1 KB (KiloByte) equals 1024 bytes?真的 1 KB (KiloByte) 等于 1024 字节吗?
【发布时间】:2013-11-18 03:26:39
【问题描述】:

到目前为止,我认为 1024 字节等于 1 KB(千字节),但我在互联网上阅读有关十进制和二进制系统的信息。

那么,实际上 1024 字节 = 1 KB 是正确的定义方式,还是存在普遍的混淆?

【问题讨论】:

  • Afaik 千、兆、千兆、兆的前缀早于信息时代,是 10 的幂。我相信维基百科会有所作为,2 的幂的快捷方式是 Ki、Mi 等开。
  • 有一些普遍的混淆,但在某些情况下很清楚;如果您购买 4GB 的 RAM,则为 4^32 字节,因为它们不会以任何其他方式实现。对于磁盘驱动器或闪存驱动器来说不是很清楚 - 但在这些驱动器中也存在由于格式化开销等原因而导致的“损失”。所以无论如何都是糊状的。
  • 操作系统使用 SI 表示法,但表示 IEC。只需检查 Windows 中任何文件的文件属性。我认为关于内存大小的科学记数法是违规行为,因为据我所知,业界一直使用 1024。 @他们早于信息时代,但信息时代对磁盘大小的含义有最终决定权!\
  • 就我个人而言,我认为我们应该坚持使用 base 2 来计算存储大小/传输速率。对于技术含量高的人和程序员来说,1 kB = 1,024 字节更有意义,因为无论如何在计算中一切都是以 2 为底的,而 1024 可以方便地表示为 0x400。对于非技术人员来说,无论如何差异是完全无关紧要的,所以他们不会在意。

标签: binary byte system decimal bit


【解决方案1】:

您看到的是营销噱头。 由于非技术人员不知道 Metric Meg、Gig 等与二进制 Meg、Gig 等之间的区别。营销人员用于存储将使用 Metric 计算,因此 1000 Bytes == 1 KiloByte。

这可能会给开发人员或高技术人员带来问题,因此您会想到二进制 Meg、Gig 等,它使用 bi 而不是标准组合(例如,Mebibyte 与 MB,或 Gibibyte 与 Gigabyte)

【讨论】:

  • 没错,我就是这么想的。但最有趣的是,这种困惑存在于许多程序员之间,包括我直到现在。每天你都会学到一些东西。感谢您的回复。
  • 我同意,我很长一段时间都是这样。
  • 营销噱头,他们不了解当您尝试采用计算机科学中最基本的常数之一并试图捏造它时会产生多少问题。
【解决方案2】:

有两种表示大数的方法:您可以以 1000(以 10 为底)或 1024(以 2 为底)的倍数显示它们。如果除以 1000,则可能使用 SI 前缀名称,如果除以 1024,则可能使用 IEC 前缀名称。问题从除以 1024 开始。许多应用程序使用 SI 前缀名称,有些使用 IEC 前缀名称。但重要的是如何编写:

使用IEC标准:
1 KiB = 1,024 字节(注:大 K)
1 MiB = 1,024 KiB = 1,048,576 字节

使用 SI 标准:
1 kB = 1,000 字节(注:小 k)
1 MB = 1,000 kB = 1,000,000 字节

来源:ubunty 单位政策:https://wiki.ubuntu.com/UnitsPolicy

【讨论】:

  • 应该补充一点,很多工具和很多人仍然使用 kB 来表示 1024 字节。因此,即使 1000 在某种意义上是“正确”的用法(无论这意味着什么),它也可能会引起混淆。
  • 这篇文章得益于官方链接文档的总结。
【解决方案3】:

在正常情况下,大多数事物都是 10 的幂。例如,这包括电。

但是,在计算机世界中,它大约是二进制的一半。比如他们卖硬盘的时候是按10的价值卖的,所以如果是1KB的硬盘,那么就是1000B。但是,当电脑读取的时候,操作系统通常会按照1024的价值来读取. 这就是为什么,当您读取驱动器上可用空间的大小时,它读取的内容比它所宣传的要少得多。一个 500 GB 的驱动器只能读取大约 466GB,因为计算机正在通过二进制 1024 版本读取驱动器。不是出售和宣传它的 10 的幂。闪存驱动器也是如此。但是,RAM 以二进制 1024 版本出售并由计算机读取。

有一点需要注意。它是“B”,而不是“b”。字节“B”中有 8 位“b”。我提出这个问题的原因是当你获得互联网服务时,他们通常以比特而不是字节来宣传速度。当它在计算机上的下载框中读取时,它会读取以字节为单位的速度。假设您有一个 50Mb 的互联网连接,在下载速度框中实际上是 6.25MB 连接,因为您必须将 50 除以 8,因为一个字节中有 8 位。这就是计算机读取它的方式。另一个标记策略也是。毕竟,50Mb 听起来比 6.25MB 快得多。除了通过网络的速度之外,大多数东西都是由字节“B”读取的。有些人没有意识到“B”和“b”之间的区别。

【讨论】:

    【解决方案4】:

    很简单……

    “字节”一词是一种计算参考,其字母“B”用作缩写。 然后必须遵循对字节的任何引用,例如。 KB、MB 等必须基于众所周知且广泛接受的 1024 基础。 因此 1KB 必须等于 1024 Bytes,1MB 必须等于 1048576 Bytes (1024x1024) 等等。

    对 Kilo/Mega 等的任何非计算引用均基于十进制 1000,例如。 1KW 或 1KiloWatt 即 1000 瓦。

    【讨论】:

    • 使用前缀kilo来表示1000以外的任何值都是错误的。一旦它流行起来,就很难让人们远离它。我不会说“千字节”,这听起来像是应该喂给猫吃的东西。
    猜你喜欢
    • 2019-06-06
    • 2011-02-27
    • 2019-11-08
    • 2016-09-19
    • 2015-03-18
    • 2012-08-02
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    相关资源
    最近更新 更多