I think what confuses consumers more is byte vs bit, or more specifically, that the capitalisation of the ‘B’ matters.
I think what confuses consumers more is byte vs bit, or more specifically, that the capitalisation of the ‘B’ matters.
- hard drive and storage manufacturers
- measurements of network speeds (1Mbps is 1000000 bits per second)
- online storage providers (Dropbox's paid plan for 2TB is 2000GB for instance)
- macOS and iOS
- Ubuntu (see https://wiki.ubuntu.com/UnitsPolicy )
- most modern GNOME applications and most GUI applications on desktop Linux
- hard drive manufacturers have been sued over this, and US courts have agreed with hard drive manufacturers that 1 GB = 1000 MB
- the International System of Units (SI) and the International Electrotechnical Commission (IEC) both use the decimal definitions (1 kB = 1000 B)
The last major hold-outs are Microsoft Windows and old command-line applications that want to preserve backwards compatibility with any script that might parse their output.
Personally, I don't find the XiB units confusing, as they are the only units with a consistent unambiguous definition. The XB units are much more confusing because you can't be sure whether the 1000^n definition is intended or not.
And here lies the problem, before HDD manufacturers decided to change things up, computer science was already standardised on using 1024^n. Sure there was some outliers in network theory but it was pretty easy because if you needed a precise value then you knew it was 1024^n and if you just wanted an approximate value you could still divide by 1000 in your head. It worked, everyone understood it and everyone was happy.
This whole “1000^n is more human friendly” only appears so because we now have multiple interpretations and people without a tech background making decisions about it. But frankly, if you can’t wrap your head around 1024^n then you’re already in the group of users who honestly don’t need to worry about the precision of getting the scaling right. Those who it does matter for honestly find 1024^n easier.
And long before that, the SI units defined K as 10^3, G as 10^6 etc.. This is how the prefix is used everywhere for every unit, with the one exception of computer scientist playing it the US way.
I personally prefer 1024 as well, but honestly, the scientific side of that argument is a lost cause.
I much prefer to work with powers of 1000. Running "df" on our storage cluster shows
2675230000214900
Although, since my terminal has this font [1] installed, it actually displays like this, with the 2 underlined: 2͟6752͟3͟0͟0002͟1͟4͟900
It's easier to think about 2.6PB than 2.3PiB (how many 200GB files do I have space for, etc).[1] https://blog.janestreet.com/commas-in-big-numbers-everywhere...
2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 sector sizes...
So even if your files are 200GB, the actual space they consume are not base 10 as you count on your storage cluster, but 200GB plus the last remaining sector that is used but unfilled as the rest of that sector cannot be used by another file.
You can count your sizes in Base 10 but the actual use of space is still Base 2.
If a file is exactly 1000 bits and your sector sizes are 1024... that 1000 bit file is using 1024 bits of space on that drive.
And no, just because they advertise or display drives as having 1,000,000 Bytes = 1MB... it doesn't change how space is sectored out on that drive itself.
Someone telling me a file is 200MB when they mean 200MiB (210MB) can make a difference, which is why we should strive for accuracy.
The nature of bits is that of a base-2 system, so using power of 10s for counting them is only superficially human friendly - in practice it's human-unfriendly, because it flies in the face of how bits are used. All hardware and all software groups them by powers of 2, that's inherent to what bits are.
It may be more human friendly, but 1024^n is more programmer friendly, especially at the low level.
Everyone was happy with 1024^n convention in the 80s. The problem was HDD manufacturers got greedy and switched to 1000^n to make their drives sound like they had more storage. Thats what started the confusion.
> a byte isn’t 10bits
It could be. Historically, the number of bits per byte varied somewhat from machine to machine. Many standards used the term 'octets' to avoid ambiguity.