The Lie We Live: The Gigabyte That Isn’t

Want to help support this blog? Try out Oh Dear, the best all-in-one monitoring tool for your entire website, co-founded by me (the guy that wrote this blogpost). Start with a 10-day trial, no strings attached.

We offer uptime monitoring, SSL checks, broken links checking, performance & cronjob monitoring, branded status pages & so much more. Try us out today!

Profile image of Mattias Geniar

Mattias Geniar, October 26, 2015

Follow me on Twitter as @mattiasgeniar

tl;dr: a Gigabyte isn’t 1024 Megabytes. It’s a 1000 Megabytes. Because reasons.

Remember back when you were still learning about computers, taking baby steps into programming and playing those first games? That's about the time I learned that one Gigabyte = 1024 Megabytes, and that one Megabyte is 1024 Kilobytes, etc.

A couple of weeks ago I learned, via Steven Op de beek on the (dutch) Tech45 podcast, that apparently my life has been a lie all this time.

A Gigabyte isn’t 1024 Megabytes. It is, in fact, a very simple 1000 Megabytes.

What I’ve been calling a Gigabyte all this time should be called a gibibyte. Even the capitalisation is confusing.

Gibibyte

The gibibyte is a multiple of the unit byte for digital information. It is a member of the set of units with binary prefixes defined by the International Electrotechnical Commission (IEC).1 Its unit symbol is GiB.

The prefix gibi (symbol Gi) represents multiplication by 10243, therefore:

1 gibibyte = 230 bytes = 1073741824bytes = 1024 mebibytes

a Gibibyte

The gibibyte, mebibyte, kibibyte, … I had never before heard those terms.

In hindsight, it makes sense: kilo, mega, giga, … are all used in the decimal system. There is no binary definition, it’s all a multitude of 1000 (103).

Seeing as how the term gigabyte is used by a lot of hard drive manufacturers, and how there’s obviously confusion among users as to what a gigabyte exactly means, it’s no wonder even Wikipedia has a difficult definition of the gigabyte.

Gigabyte

This definition is used in all contexts of science, engineering, business, and many areas of computing, including hard drive, solid state drive, and tape capacities, as well as data transmission speeds.

However, the term is also used in some fields of computer science and information technology to denote 1 073 741 824 (10243 or 230) bytes, particularly for sizes of RAM. The use of gigabyte is thus ambiguous.

For semiconductor RAM, the gigabyte denotes 1 073 741 824 bytes.

For hard drive capacities as described and marketed by the drive manufacturers, the gigabyte denotes 1 000 000 000 bytes, but when a 500-GB drive’s capacity is displayed by, for example, Microsoft Windows, it is reported as 465 GB, where GB then means 1 073 741 824 bytes.

Gigabyte

Sigh.

This is such a great way to cheat on actual disk sizes. You report the size in an ambiguous format, up for interpretation to whichever outcome suits you best.

Want to read a bit more? The Bits & Bytes reference seems to have everything detailed pretty accurately, including the confusion around Megabyte and megabyte – one capitalised the other all lower case.

Next time someone corrects you on improper calculations or capitalisation, just point them here. Depending on how you explain it, you’re both right.



Want to subscribe to the cron.weekly newsletter?

I write a weekly-ish newsletter on Linux, open source & webdevelopment called cron.weekly.

It features the latest news, guides & tutorials and new open source projects. You can sign up via email below.

No spam. Just some good, practical Linux & open source content.