我已经看到了三种从字节转换为兆字节的方法:
好吧,我认为#3完全错了,但我已经看过了。我认为#2是正确的,但我正在寻找一些受人尊敬的权威(如W3C,ISO,NIST等)来澄清哪个兆字节是真正的兆字节。任何人都可以引用明确解释如何进行此计算的来源吗?
奖金问题:如果#2是兆字节,那么#1和#3叫什么?
BTW:硬盘驱动器制造商不会被视为此权限!答案 0 :(得分:104)
传统上以兆字节为单位表示您的第二个选项 - 1兆字节= 2 20 字节。但实际上它并不正确,因为mega意味着1 000 000.2个 20 字节有一个新的标准名称,它是mebibyte(http://en.wikipedia.org/wiki/Mebibyte)并且它收集普及。
答案 1 :(得分:23)
有IEC standard区分术语,例如Mebibyte = 1024 ^ 2字节但是兆字节= 1000 ^ 2(为了与像SI这样的SI单位兼容,其中k / M / ...表示1000/1000000)。实际上,IT领域的大多数人会更喜欢Megabyte = 1024 ^ 2,硬盘制造商会更喜欢Megabyte = 1000 ^ 2(因为硬盘大小会听起来比他们大)。
事实上,大多数人都对IEC标准(乘数1000)和传统意义(乘数1024)感到困惑。一般来说,你不应该对人们的意思做出假设。例如,MP3的128 kBit / s通常意味着128000比特,因为乘法器1000主要与单位一起使用。但通常人们会将2048 kBit / s称为2 MBit / s - 令人困惑的呃?
因此,作为一般规则,根本不要信任位/字节单元;)
答案 2 :(得分:15)
答案 3 :(得分:9)
将2
除以20
的幂,(1024*1024)
字节= 1
兆字节
1024*1024 = 1,048,576
2^20 = 1,048,576
1,048,576/1,048,576 = 1
这是一回事。
答案 4 :(得分:3)
以下是标准(SI)所说的内容:
答案 5 :(得分:2)
使用您的用户最有可能期望的计算。您的用户是否关心磁盘或内存中有多少实际字节,或者他们只关心可用空间?该问题的答案将告诉您哪种计算最有意义。
这不是一个精确的问题,而是一个可用性问题。提供对您的用户最有用的计算。
答案 6 :(得分:2)
答案是,#1在技术上是正确的,基于Mega前缀的真实含义,然而(并且在生活中总是有一个)数学上的数学并不是如此好在基数2,这是计算机如何计算,所以#2是人们真正使用的。
答案 7 :(得分:1)
兆字节表示2 ^ 20个字节。我知道技术上不与SI单位相关,并且有些人提出了一个新的术语来表示2 ^ 20。这些都不重要。改变语言以“澄清”事物的努力注定要失败。
硬盘驱动器制造商使用它来表示1,000,000字节,因为这就是它在SI中的含义,因此他们在技术上 他们没有说谎(实际上他们是)。这属于谎言,该死的谎言和营销。
答案 8 :(得分:0)
通常,在引用二进制数据大小时使用十进制SI前缀(例如千字节,兆字节)是错误的(偶然使用除外)。这是模棱两可的,会造成混乱。准确地说,您可以使用binary prefixes(例如1 mebibyte = 1 MiB = 1024 kibibytes = 2 ^ 20 bytes)。当其他人对二进制数据使用十进制SI前缀时,您需要在知道其含义之前获取更多信息。