我已经看到了从字节到兆字节转换的三种方法:
好吧,我认为#3 是完全错误的,但我已经看到了。我认为#2 是正确的,但我正在寻找一些受人尊敬的权威机构(如 W3C、ISO、NIST 等)来澄清哪个兆字节是真正的兆字节。任何人都可以引用明确解释此计算是如何完成的来源吗?
额外问题:如果 #2 是兆字节,#1 和 #3 叫什么?
顺便说一句:硬盘制造商在这方面不算权威!
20 字节。但这实际上是不正确的,因为 mega 意味着 1 000 000。220 字节有一个新的标准名称,它是 mebibyte (http://en.wikipedia.org/wiki/Mebibyte),并且它越来越受欢迎.
因此,作为一般规则,根本不要信任位/字节单位;)
2
的
20
次方,
(1024*1024)
字节 =
1
兆字节
1024*1024 = 1,048,576
2^20 = 1,048,576
1,048,576/1,048,576 = 1
这是同一件事。
顺便说一句:硬盘制造商在这方面不算权威!哦,是的,他们确实如此(他们从
硬盘驱动器制造商用它来表示 1,000,000 字节,因为这就是 SI 中的含义,因此他们认为“从技术上讲”他们没有撒谎(而实际上他们是这样)。这属于谎言,该死的谎言和营销。
使用用户最有可能期望的计算。您的用户是否关心磁盘或内存或其他什么地方有多少实际字节,或者他们只关心可用空间?该问题的答案将告诉您哪种计算最有意义。
一般来说,在提及二进制数据大小时使用十进制 SI 前缀(例如 kilo、mega)是错误的(偶然使用除外)。它含糊不清并引起混乱。准确地说,您可以使用
对于C# 我正在使用以下内容:
Math.Pow(2, 20)