您是否在程序中使用“kibibyte”作为度量单位?

时间:2008-10-07 01:41:32

标签: naming units-of-measurement

几十年来,在计算领域(磁盘制造商除外),KB(千字节)被理解为1024字节。在过去的几年里,有一种运动使用KiB(“kibibyte”)来表示1024字节,并且将千字节的含义改为1000字节,让我们陷入更多年的困惑。另一方面,这一运动似乎局限于Gnome,还有一些overzealous wikipedia editing

您是否会将程序转换为使用KiB?如果您曾以KB格式显示文件大小,是否除以1000或1024?

23 个答案:

答案 0 :(得分:84)

KB是1024字节,该死的。

答案 1 :(得分:47)

我之前在应用中做过一次。虽然在内部它使用了kibbi和mebbi(KiB,MiB等),它仍会显示在用户(在这种情况下是IT人员)习惯的用户身上。基础字段只是字节IIRC中的一个长字。

它是向前兼容的,至少可以让你输入4 GB和4GiB。它还理解像4.5G这样的速记条目并适当地舍入到实际的字节数 - 不要强迫穷人用这种方式输入并防止他们的错误。更新使用IEC符号是一行代码。


千克是世界上1000和98%使用公制。我们需要克服它。

我看到很多这些反应让我感到困惑。 SI前缀是SI前缀,程序员没有权利改变它们,没有比方便和定制更好的理由。奇怪的是,计算机科学领域的人才是一个技术领域很高的人,他们吵着要回到肘部和竿子的日子。跆拳道?

我们都知道我们的意思,但坚持自定义疏远和混淆用户。仅仅因为在早期的先驱时代,一些人在谈论计算机内存时,决定重用SI符号并不意味着他们这样做是正确的。

答案 2 :(得分:32)

在我看来,1千字节等于1000字节是驱动器想让你相信的东西,所以你的驱动器看起来比实际更宽敞。 ;)

I would take 'kibibyte' more seriously if it didn't sound so much like 'Kibbles N Bits

答案 3 :(得分:28)

由于我在转换专业之前花了几年时间学习成为一名机械工程师,我不得不承认“千克”对我来说总是意味着10 ^ 3。从这个角度来看,KiB是有道理的。然而,尝试几次说“kibibyte”,并想想你听起来多么愚蠢。

因此,千克是1000克,千字节是1024字节。

附录:此外,我同意那些一直在说我们不应该改变已经建立的东西的人。 1024只是二进制中更好的数字。此外,“kibibyte”仍然听起来像狗吃的东西。

答案 4 :(得分:15)

有两种方法可以考虑这个问题:

  1. 使用您正在运行的操作系统使用的内容。这样用户就可以获得一致的体验。

  2. 使用正确的方法。

  3. 如果你总是使用KiB,那么就不会有混淆。如果使用KB,则会出现混淆。因此,如果您选择选项#2,那么您最好使用1024并使用KiB后缀。无论如何,使用2的幂更有效。

    这取决于你,但我的经验法则是,如果你有技术受众,那么使用KiB并避免一切困惑。如果您拥有大量非技术用户,请使用操作系统使用的用户。顺便说一句,Windows使用KB来表示1024字节。

答案 5 :(得分:15)

它没有改变“千字节”的含义。 Kilo表示1000.有些人错误地使用它来引用1024字节的单位。

我从不以kibibytes显示文件大小,因为用户不关心1000和1024.相反,我总是使用“XXX KB / MB / GB”,其中XXX是字节数除以1千/百万/ etc。

答案 6 :(得分:11)

我使用KiB。

你是否真的想通过拒绝像IE那样使用完善的标准来伤害每个人?

答案 7 :(得分:10)

专业领域一直以专业化理解的方式使用术语。例如,建造桥梁的机械工程师使用术语“压力”来表示完全不同于例如律师发现他的明星证人在法庭上第一天撒谎的事情。我们是否应该要求工程师使用与律师相同的“压力”定义,因为该定义被更广泛地使用?如果我们这样做,我就不会开过那座桥!

Kilobytes = 1024字节。它是一个行业公认的术语专业化。

答案 8 :(得分:9)

我总是以1000字节的千字节显示文件大小。对于那些无法区分的人来说,这几乎不重要,并且当他们看到实际的数字时,往往会减轻混乱。四舍五入时65323字节= 65Kb,而“普通”人就是这样。

我可能永远不会显示“KiB”,因为这绝不是我的客户想要的。

决定不遵循不仅仅是计算机社区创建的标准的傲慢(参见...... Kilo实际上意味着1000不是“新的”)是惊人的。

答案 9 :(得分:8)

只有情况需要它。几乎在所有情况下,基于1,000个单位都更合适。

我所知道的唯一例外是内存,因为它自然是2的幂和CD大小的倍数,因为它是由制造商以2 20 字节的倍数来衡量的。其他所有内容,包括硬盘驱动器,DVD,闪存驱动器,带宽,处理器速度,内存总线等,目前都是以1000秒为单位测量的,文件大小也应该是。 (或者,至少,我和Steve Jobs这么认为.Windows可能会继续以1024多年的速度测量文件大小......)

为避免混淆用户,请使用k- = 1,000和Ki- = 1,024。

“k”的草率使用意味着1024是一种邪恶的憎恶,应该用火杀死。

答案 10 :(得分:6)

我在存储行业工作了十年。超过TB大小的争论可以使解决方案的大小变化10%。简而言之:程序员和存储行业使用不同的测量。两者都不是正确的。

Storage Networking Industry Association(SNIA)字典defines kilobyte为:

  

Kilobyte(KB)

     

[一般] 1,000(10 ^ 3)字节。

     

SNIA使用存储和数据传输相关文献中常见的10 ^ 3惯例,而不是计算机系统随机存取存储器和软件文献中常见的1,024(2 ^ 10)惯例。

我的经验法则是:

  • 以1024 ^ n字节块测量网络上的内存,文件,文件系统和数据。
  • 以1000 ^ n字节块为单位测量原始磁盘空间 - 以及原始磁盘空间。
  • 告诉客户您正在使用哪个单位。经常重复自己。

总的来说,这让我摆脱了麻烦。

答案 11 :(得分:5)

Mac OS X不使用KiB,MiB,GiB。另一方面,当它使用度量值时,它至少可以正确地计算数学:

Mac OS X Screenshot

就我个人而言,我更喜欢让这些东西正确,以便目前处于黑暗中的用户可以从中吸取教训。等待用户先改变是愚蠢的。用户有一天没有突然醒来,认为千字节是1024字节 - 这是让他们认为的软件,所以不应该是软件纠正错误的工作吗?

答案 12 :(得分:3)

我正在处理的一个程序默认使用“KiB”,但是有一个用户可以使用的测量单位(KiB中为1024 B,KB中为1024 B,KB中为1000 B)

答案 13 :(得分:1)

从技术上讲,KiB是正确的,但我只在少数应用程序(主要是Linux控制台应用程序)中看到过它。用户或者习惯使用1024 for KB和KiB(IT人员),或者他们并不真正关心并且会认为“KiB”拼写错误(非IT人员)。

然而:我已经习惯使用“Kilobytes = 1024字节”20多年了,即使我知道它在科学上是错误的,也会继续使用它。

如果您需要提供KiB以允许您的灵魂休息,请将其作为选项提供,但不要将不良用户与另一个定义混淆 - 特别是如果他们使用操作系统,则使用非科学方法并将KB定义为1024。

(顺便说一下:Kibibytes总是让我想起Tinky Winky和他的friends ...;)

答案 14 :(得分:0)

我在教导我的学生时试图开始使用这些术语,但我现在已经放弃了。

我已经教了一个介绍性的计算机课程(“和这个是一个磁盘驱动器”)几次,这可能让学生混淆前缀在不同的背景下意味着不同的东西。当你有千字节或千位数据时,Kilo意味着1024,除非你在1000时将它存储在磁盘上,如果你通过网络每秒发送一个千比特,那么它就是1000,一千赫当然也是1000 。一公里的光缆是1000米!但事实证明,这确实不是一个问题。工程和计算机科学的学生需要了解其中的差异,他们无论如何都会习惯它。当我在数据库课程或编译器课程中再次遇到它们时,对于不同类型的公斤,megas和teras,从来没有任何混淆。来自其他领域(媒体设计等)的学生并不在乎。

在我在大学走廊里与其他计算机科学人员进行非正式调查后,发现其中大多数人从未听说过这些新的前缀,我绝对放弃了。

答案 15 :(得分:0)

KB为1024字节 一个kB是1000字节 不幸的是,拼写是模糊的。我总是使用1024。

Knuth将MB称为KKBytes或kkBytes,以区分1024 * 1024和1000 * 1000

答案 16 :(得分:0)

没有。 1024字节是一个千字节,无论这是否有意义。

当天使用1024字节单位的“kilo-”前缀可能是一个错误。但它现在是标准。现在尝试改变它只会增加混乱。

我们不应该应对这个世界;我们处理这个世界。

答案 17 :(得分:-1)

对我来说,这有点像我们在当天的'黑客'论点。

根据你的年龄和顽固程度,“黑客”对你来说可能意味着另一回事。有一段时间在媒体上(可能还有今天,部分)人们认为黑客行为是非法侵入机器的行为。然而,在现在的行业中,人们得到的感觉是,有人喜欢摆弄东西。

有一段时间,安全社区不确定这是否会起飞,我们实际上试图用'cracker'来指代坏人。我认为饼干并没有像我们想的那样真正起飞,但我们已经将“黑客”称为合法术语,取得了相当大的成功。

所以对我来说这是相同的:只是因为媒体试图将KB视为1,000,我将永远不会退缩,并且始终站出来支持其余24位的权利。

24bFL

答案 18 :(得分:-1)

我仍在测量2 10 * n ,直到计算机基于小数...

答案 19 :(得分:-2)

除了关于术语需要如何改变的咆哮之外,我从未听过那些用过的表达方式。它不会流行起来。

答案 20 :(得分:-2)

当您使用十进制数字系统时,Kilo表示10 ^ 3。

当你在二进制数系统中工作时,基洛意味着2 ^ 10。

我的意思是,只要看看它们......它们都非常武断。在我看来,其他任何东西都是同样武断的 - 所以我们有40年的根深蒂固的任意与全新的武断。哪个应该赢?就目前而言,我投票支持这种根深蒂固的方法,仅仅是因为它会减少总体混乱。

在某些时候,我们的技术必将发生变化 - 想想量子/基因计算机 - 这一点将是一个消毒我​​们测量系统的好机会。

此外,一些用户总是会感到困惑 - 我们是否应该为他们消除混淆,冒着混淆社区的风险,让一切都发生(我们和硬件人员)?我想不是。

答案 21 :(得分:-2)

我老实说从来没有听说过这个&我怀疑它会在主流使用中获得很大的吸引力。我无法想象为什么我会想要开始这样做。千字节的当前定义是准确的&足够。我更愿意看到硬盘制造商开始使用准确的术语而不是进一步愚蠢的技术术语。为什么制造商不能制造完全符合xGB尺寸的驱动器,或者只是说出它们到底是什么?

答案 22 :(得分:-2)

Drivemaker / denary Kilobytes可以在地​​狱中燃烧。二进制机器的二进制单元。