a thoughtful web.
Good ideas and conversation. No ads, no tracking.   Login or Take a Tour!
PSA: The difference between kilobyte (KB), kibibyte (KiB), kilobit (kb), and kibibit (kib).

There are 8 bits in a byte. There are 1024 bytes (B) in a kibibyte, and 1000 bytes in a kilobyte, which is based on the International System of Units (SI). This is because kibibyte is based on powers of 2, while kilobyte, being based on standard prefixes, is based on powers of ten.

Sure, the difference between 1024B and 1000B is not that bad, but due to the way exponents work, the difference become more apparent the more bytes you are measuring. For example, a Gigabyte (the convention the hard drive manufacturers use) is 10B^9=one billion bytes, whereas a Gibibyte is 1024B^3=one billion seventy-three million seven hundred forty-one thousand eight hundred twenty-four bytes. This means that, for each gigabyte, there is a difference of (1024B^3-10B^9)/10B^6=73.74182MB, or approximately 73.74 megabytes.

If you're buying a terabyte hard drive, it will have 10^12 bytes. However, Windows might tell you it has 931.32 GB. That's because although Windows uses the abbreviation GB, which is usually for gigabytes, it really means gibibytes. This leads to some confusion, such as thumb drive manufacturers being sued for allegedly misadvertising their file sizes.

By the way, if that didn't confuse you enough, there is also the distinction of bits (b) vs. bytes (B). There are 8 bits in a byte, so when an ISP advertises gigabit internet, you're really getting 10B^9/8b=125000000B=125 megabytes (MB) per second. These differences apply at slower speeds as well, so it takes some caution to know precisely how much speed is being offered.

In conclusion, bits are not bytes, gigabytes are not gigabits nor gibibytes nor gibibits, and although it is strategically desirable to move to using the International System of Units for storage, we might never make the transition because it goes against convention.

P.S. If you want to read something prettier, I created a web page with fancy math rendering. http://output.jsbin.com/pamohu

user-inactivated  ·  3151 days ago  ·  link  ·

Heh

I went through and cleaned up what appeared to be a mass replacement of "gibi" with "giga". After checking the history it seems that someone did indeed think gibibyte was just a misspelling of gigabyte. That is unquestionably not the case and this is the page for gibibyte (however paltry it may be). Be sure to double check when using them if there's any confusion. Fofosfederation (talk) 05:32, 20 August 2015 (UTC)
user-inactivated  ·  3151 days ago  ·  link  ·

If you're buying a terabyte hard drive, it will have 10^12 bytes. However, Windows might tell you it has 931.32 GB.

Well, fuck, I woke up today unsure what I would learn and it turned out to be this. Thanks.

I also learned that whales can actually get the bends, but mostly it seems to happen when something screws up their natural processes, like an illness or ... navy sonar.

wtf  ·  3151 days ago  ·  link  ·

Windows (and many other places) uses GB when they mean GiB for historical reasons. Until 2008, the IEC had not standardized the binary SI extension (KiB, MiB, GiB, etc) and so computing professionals used whatever was most convenient for them. This meant most software folks used K = 1024, and many hardware folks stuck with K = 1000 for consistency with the other times they would encounter SI prefixes.

The old convention persists in part because bits and bytes already indicate binary to a lot of computer folk, and there isn't really any confusion about 1024 vs 1000 until people start trying to apply the exact SI standard to non-SI units. Personally, I use KiB and friends whenever writing the unit symbol, but I refuse to pronounce them the way IEC wants me to. Instead, I use words like "kilos", "megs", "gigs" and let context fill in the other details about bits vs bytes and 1000 vs 1024.

o11c  ·  3151 days ago  ·  link  ·

Abbreviations: kilobit (kb), kibibit (kib), note the lowercase b.

Also the term "baud" refers to "symbol per second", where "symbol" may be bit, byte, character, or whatever is convenient at the time.

Note also that even though there are 8 bits in a byte of information, when transmitted over the wire each 8 bits are usually encoded across 10 bits for error control.