On Tue 07 Jan 2025 at 21:00:39 (+0100), Nicolas George wrote: > Kushal Kumaran (12025-01-07): > > I point people to http://www.tarsnap.com/GB-why.html which is where I > > was first enlightened. > > Mostly something anybody should learn in junior high school physics, > freshman high-school at worst. > > Except for one point: “this is a special case”. Except they are wrong > about where the special case: it would be absurd for the same unit to > mean something different depending on what it measures, so if you accept > that one giga-octet of RAM is 1024^3 octets, you have to accept it > everywhere of be ridiculously inconsistent with bad practical > consequences.
Your example illustrates what's so special about the case of measuring memory. We're used to dealing with the same unit meaning different things, particularly people like me with pints of beer, degrees of proof, gallons of gasoline and petrol, and shoe sizes. Other examples would be ounces, tons, hundredweights, bushels, and in the past, ells. But in all these cases, the relationship is linear, and people get used to buying in metric feet, just as everyone knows a piece of two-by-four isn't eight square inches in section. OTOH with memory, where it's perfectly reasonable to measure in KiBs, MiBs, etc, because of the way in which it's addressed, the difference in prefixes is exponential, which makes it much more serious; hence the lawsuits against disk manufacturers from people who think they've been deceived. Rather than blaming the disk manufacturers who were counting in decimal, the way most of us do, I'd blame the makers of computers and OSes for reporting disk sizes with binary prefixes, or worse, with hybrid ones. (You can never really trust whether a binary prefix uses only factors of 1024, or throws in the odd 1000, without checking the raw factors.) Cheers, David.