5 ms·
Using base-2 units is fine by me as long as you use the KiB MiB notation so I can immediately understand that you're using base-2.
by Flimm 11y ago
Using base-2 units is fine by me as long as you use the KiB MiB notation so I can immediately understand that you're using base-2.
- kazinator 11y ago"Kibi" and "Mebi" is moron speak. A kilobyte is 1024, a megabyte is 10241024, and a gigabyte is 10241024*1024. Period. Anyone who is using base 10 is simply wrong. Or lying to sell you a smaller storage unit. Whatever confusion there exists, it was created by dishonest mass storage manufacturers. Prior to 1990-something, there was no confusion. As larger and larger storage devices became available on the mass consumer market, the sneaky bastards at Seagate, Quantum et al started to use base 10 to make their products appear more capacious. The solution for that is to simply take back the kilobyte. Possibly, legislation could help: make it unlawful for a storage device which holds 100000000000 bytes to be called a gigabyte device.
- erikpukinskis 11y agoOf course that's historically true. The point is it doesn't make sense so it should be changed. Kilo means 1,000 for every unit of measure except bytes. Mega means 1,000,000 for every unit of measure except bytes. It doesn't even make sense... 1024 isn't a base two number, it's a base 10 number! If you really wanted to represent 1024 bytes in base 2, it would be 1000000000 bytes. Kibi and Mebi are not moron speak, they are the correct term for these quantities in base 2: https://en.wikipedia.org/wiki/Binary_prefix https://en.wikipedia.org/wiki/Binary_prefix Using a base 10 prefix for a base 2 number is just historical weirdness. There's no sensical formal framework in which it fits with other uses of these prefixes. It's good to try to preserve old standards wherever possible. No need to reinvent the wheel. But in the long term in computer science we are trying to get to a world where ideas make sense together and form an easy to understand system. In the long term it's better if people don't have to learn this arcane idea that prefixes are base-10 everywhere except digital storage.
- gdwatson 11y agoI like to mock the drive-maker's kilobyte too, but in their defense the tradition is older than standardized byte and word sizes. There was a time when drive sizes were measured in bits, and they naturally used SI prefixes for those -- nobody has bit-addressable memory. That said, they aren't measuring them in bits any more, and using gigabyte in the SI way is definitely misleading.
- s_tec 11y agoThe "kilo", "mega", and "giga" prefixes are part of the SI system of units. They have been around far longer than computers, and are all defined in terms of base 10. A "megawatt" is one million Watts, and has been for over a century. These units don't belong to the computer industry, and computer people can't define them to mean something else just because "byte" is the next word. If you want to insist that 1KB is 1024 bytes, then you aren't talking about real "kilos", you are talking about fake, computer-nerd "kilos". Stealing these units was wrong, and should have never happened in the first place. The SI isn't being moronic in introducing KiB, MiB, and friends, it's just asking us to return what we've stolen.
- kazinator 11y agocomputer people can't define them to mean something else Well, the "computer people" did in fact do that, through natural language extension, which is often irregular and inconsistent. It is this committee-designed "kibi", "mebi" and "gibi" which are prescriptive. And for that reason they are broadly rejected in the industry. "Mega" is just a foreign prefix that can flexibly serve any purpose you want, just like a Greek letter in mathematics. Just like the Greek λ can be "anonymous function", "eigenvalue", or "air/fuel ratio", the Latin "mega-" can be 1000000 or 1048576. Nobody had any problem with this whatsoever, until storage manufacturers started lying in order to sell you a 781 Mb drive as 800 Mb.
- deleted 11y ago[deleted]
- brucedawson 11y ago> Anyone who is using base 10 is simply wrong. You can say that, but that doesn't make it true, or reasonable. The facts on the ground are that OSX and drive manufacturers use base-10 MB/GB. And, as I point out in the article, CPU frequencies, GPU frequencies, thumb drive capacities, and hard drive capacities are all actually base 10, so it's not like base 10 is going to go away. Why should the capacity of memory chips affect how we describe file sizes and drive sizes? Please explain?
- kazinator 11y agoFrequencies are irrelevant. Yes, frequencies are base 10 all the way back to the dawn of RF in early radio before electronic computing. So what? Nobody wants base 10 to go away. Just away from the prefixes in kilobyte, megabyte, gigabyte! "Giga" and "mega" do not mean exactly a million or billion; they are the root of words like "megalomania" and "gigantic". Mega: From Ancient Greek μέγας (mégas, “great, large, mighty”), from Proto-Indo-European meǵh₂s (“great”). Cognate with Latin magnus, and with Germanic words: Gothic 𐌼𐌹𐌺𐌹𐌻𐍃 (mikils), Old English micel, Middle English muchel, English much, Old High German mihhil, Old Norse mikill, Danish meget.* [Source: https://en.wiktionary.org/wiki/mega- https://en.wiktionary.org/wiki/mega-] Giga: From Ancient Greek γίγας (gígas, “giant”); cognate to giant. [https://en.wiktionary.org/wiki/giga- https://en.wiktionary.org/wiki/giga-] Nothing about a million or billion! Kilo is the one that means one thousand, from Greek. (χίλιοι / khílioi). > Why should the capacity of memory chips affect how we describe file sizes and drive sizes? So that, for example, a gigabyte of swap space corresponds exactly to a gigabyte of RAM. Doh? Who wants the description of size to change when data is moved between RAM and disk? Speaking of "memory chips", flash storage is memory chips too. We should use the same units for memory chips that we use for ... memory chips.
- Avernar 11y ago> Frequencies are irrelevant. No they're not. They're very relavent for anything dealing with networkig and communications. I recently programmed an atmega chip for a homebrew project and the frequency of the SPI bus was very relavent.
- soneil 11y ago> Possibly, legislation could help: make it unlawful for a storage device which holds 100000000000 bytes to be called a gigabyte device. Even tapes, which along with every other "piece of string" device, have been base10 since before this cp/m / *dos mistake existed? Why should they now be forced to be wrong? (also, be careful what you ask for. If this were to be legislated, it'd be perfectly logical for them to fall inline with NIST - who don't agree with you on this one)
- Avernar 11y agoUsing the ibi/ebi notation is fine when it is written, especially when you have base 2 and 10 in the same document. Speaking it however makes you sound like you have a speach impediment and non geeks will think your're a moron. You can deduce the base of the unit from context most of the time and when you can't, unlike when reading, I can ask you for clarification right away.