将字节转换为兆字节

我见过三种从字节到兆字节的转换方法:

  1. 兆字节 = 字节/1000000
  2. 兆字节 = 字节/1024/1024
  3. 兆字节 = 字节/1024/1000

好吧,我认为3号完全错了,但我已经看到了。我认为 # 2是正确的,但我正在寻找一些受人尊敬的权威(如 W3C,ISO,NIST 等) ,以澄清哪个兆字节是真正的兆字节。有人能举出一个来源,明确解释如何进行这种计算?

附加问题: 如果 # 2是兆字节,那么 # 1和 # 3的名称是什么?

顺便说一句: 硬盘制造商在这方面不算权威!

219949 次浏览

传统上,兆字节指的是第二个选项——1兆字节 = 220字节。但实际上并不正确,因为 mega 意味着100万。对于220字节有一个新的标准名称,它是 mebibyte (http://en.wikipedia.org/wiki/Mebibyte) ,它越来越流行。

有一个 独立环境查核人标准来区分这些术语,例如,Mebibyte = 1024 ^ 2字节,而 Megabyte = 1000 ^ 2(为了与像千克这样的 SI 单位兼容,k/M/... 意味着1000/1000000)。实际上,IT 领域的大多数人更喜欢 Megabyte = 1024 ^ 2,而硬盘制造商更喜欢 Megabyte = 1000 ^ 2(因为硬盘大小听起来比实际大)。

事实上,大多数人对 IEC 标准(乘数1000)和传统意义(乘数1024)感到困惑。一般来说,你不应该对别人的意思做出假设。例如,MP3的128kbit/s 通常意味着128000位,因为乘法器1000主要与单位位一起使用。但是通常人们会把2048kbit/s 等于2MBit/s 称为混淆,是吗?

因此,一般来说,根本不要信任位/字节单元;)

兆字节意味着2 ^ 20字节。我知道,从技术上来说,这与 SI 单位不相符,有些人提出了一个新的术语,意味着2 ^ 20。这些都不重要。改变语言以“澄清”事物的努力注定要失败。

硬盘制造商用它来表示1,000,000字节,因为这就是它在 SI 中的意思,所以他们认为 严格来说他们没有撒谎(事实上他们确实撒谎了)。这些都属于谎言,该死的谎言和市场营销。

使用用户最可能期望的计算。您的用户是否关心磁盘或内存中有多少实际字节,或者他们只关心可用空间?这个问题的答案会告诉你哪种计算最有意义。

这不是一个精度问题,而是一个可用性问题。提供对用户最有用的计算。

答案是,基于 Mega 前缀的真实含义,1在技术上是正确的,但是(在生活中总是有一个然而) ,计算出来的结果不是那么好,在基数2,这就是计算机的计算方式,所以2才是人们真正使用的。

顺便说一句: 硬盘制造商在这方面不算权威!

哦,是的(他们从 S.I.中假定的定义是正确的)。关于相关问题,请参阅编码恐怖(CodingHorror)上的 这篇文章

除以 2的功率为 20(1024*1024)字节 = 1兆字节

1024*1024 = 1,048,576
2^20 = 1,048,576
1,048,576/1,048,576 = 1

这是一回事。

一般来说,在引用二进制数据大小时使用十进制 SI 前缀(例如 kilo、 mega)是错误的(偶尔使用除外)。含糊不清,容易引起混淆。准确地说,您可以使用 二进制前缀(例如,1 MB = 1 MiB = 1024 kibibyte = 2 ^ 20字节)。当其他人为二进制数据使用十进制 SI 前缀时,您需要获得更多的信息,然后才能知道这是什么意思。

用于将字节转换为兆字节(Mb)

使用 Total byte/1000/1000

将字节转换为内比特

使用 Total byte/1024/1024

Https://en.wikipedia.org/wiki/byte#multiple-byte_units