If a gigabyte is 10^9 bytes, then why do common technologies use numbers like 32, 64, 128, 256 gigabytes instead of something like 100, 200, 500 to easily file into 10s?

562 views

What is the purpose of these seemingly arbitrary multiples of 2

In: Technology

8 Answers

Anonymous 0 Comments

Computers think in binary. A “bit” is either on (1) or off (0). This means that one bit can have two values. Two bits have four (00, 01, 10, 11), three bits have eight, and so on. Here’s where the multiple of two comes from.

When it comes to memory, you need to “address” this. When your computer needs to look up where a certain value is stored, it needs to know the location of this value in memory. This is done by addresses. These addresses are stored in a computer readable format (for obvious reasons 😉 ). Meaning that a certain number of bits is in use. How much bits are needed for an address depends on how many addresses there are. To have the most efficient use of your address space, the size of your memory would ideally be a 2^x value.

Here’s where the kibi/kilo mebi/mega, gibi/giga comes in. In the metric system, kilo, mega, giga (and so forth) denote base-10 exponents. A kilogram is 1000 grams, a megagram (ok, fair, this is also called a metric ton, but work with me here!) is 1000 kilograms. In the same vein, a “true” kilobyte is 1000 bytes (a byte being 8 bits by the way – this is true all the way around). A megabyte is 1000 kilobytes and so on. A kibibyte (the bi denoting that this is the “binary kilo”) is 1024 bytes – 2^10 bytes. A mebibyte is 1024 kibibytes, and so on.

You are viewing 1 out of 8 answers, click here to view all answers.