Sign up ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Newer computers usually have 2, 4, 8, etc. GiB of RAM. The older ones usually have 128, 256, 512 MiB or less but also in powers of two.

What is the reason behind this? Why don't hard disks and DVD discs follow this norm?

share|improve this question
Note that MB and GB are NOT powers of two, MiB and GiB are. – arielnmz yesterday

6 Answers 6

up vote 20 down vote accepted

Memory is closely tied to the CPU, so making their size a power of two means that multiple modules can be packed requiring a minimum of logic in order to switch between them; only a few bits from the end need to be checked (since the binary representation of the size is 1000...0000 regardless of its size) instead of many more bits were it not a power of two.

Hard drives are not tied to the CPU and not packed in the same manner, so exactness of their size is not required.

share|improve this answer

Simply speaking, computers work in 1s and 0s. That's what binary is. The computer uses this system to address memory. In a simple (read "ancient") system, a certain number of processor lines or memory address unit lines are dedicated to selecting the address of a particular location in memory. Since those lines can only carry values of "high" or "low" each line represents a binary digit. So the number of locations that can be addressed is two to the power of the number of lines.

There is a correspondence between this and the address registers in the processor. Two to the number of bits in the register is the number of locations that can be addressed.

As memory sizes increased and computers became more powerful, a number of schemes have been employed to extend this capability and work around various limitations.

Please note that this overview is a greatly simplified look at a complex subject.

Also see the Wikipedia article on Memory addressing.

share|improve this answer

The binary system is known as base 2 because there are two possible values: 0 and 1 (on and off, high and low, 5V and 0V), compared to the normal natural number system known as base 10 (0-9). Hard drive manufacturers want their capacity to appear higher, so a 1GB drive (base 10, 1 billion bytes, 109) is really only 0.9313GiB (base 2, 2something) (this is also the reason for the disparity between what the computer reports and what the box says). The same is true for DVD discs.

share|improve this answer
Check out this Wikipedia article for more info - – Nick Josevski Jan 19 '11 at 3:46
@muntoo: You have linked to relevant info but your comment text is totally misleading and makes you look spammy. – Linker3000 Jan 19 '11 at 8:29
I edited @Muntoo's comment – Ivo Flipse Jan 19 '11 at 16:20
this is also the reason for the disparity between what the computer reports and what the box says, more like the disparity between what Windows reports, many Linux desktops and apps now use the correct suffix for capacities. I believe also Mac OS does. – arielnmz yesterday

So many nonsense answers here.

The answer is because of the cpu architecture. The bandwidth of the addressing bus is expressed in bits. So e.g. a 10 bit bus can access 1024 bytes of memory. So why would a manufacturer make a RAM module of 1000 bytes? They didn't, they invented chips with 2^N bytes. Then they just stuck more of them on the pcb as Moore's law made the chips smaller.

Nowadays the cpu can address many gigabytes/terabytes of RAM so there is not much reason to stick with powers of 2. They probably don't make byte modules (8GB ala harddrive) because it is cheaper to combine older design chips, so e.g. if the basic unit was 1GB(1024^3) they'd just have to stick 8 of these on a pcb board to make 8GB ( 8.589.934.592 bytes) . The main issue now is keeping the modules small while cramming memory on them.

By the way they also make 3GB and 6GB modules. In the future with newer designs we might see modules with 20 flat GB ( bytes). As marketing 20GB will let them use the same trick that current hard drive manufacturers use.

share|improve this answer

Digital electronics used in computers have two states: on and off. So storage of numbers in memory is made up of collections of elements each of which is on or off.

So one element can therefore only represent the numbers 0 and 1 (two values). If you combine two of these you can now represent 2 to the power of two (four) numbers 0…3.

off, off = 0

off, on = 1

on, off = 2

on, on = 3

If you have three elements you can represent two to the power of three (eight) numbers 0…7.

off,off,off = 0

off,off,on = 1

off,on,off = 2

off,on,on = 3

on,off,off = 4

on,off,on = 5

on,on,off = 6

on,on,on = 7

And so on.

The element might be a switching transistor or something equivalent which is in an on or an off state, it could be a tiny patch of hard disk surface that is magnetised parallel or perpendicular to the direction of rotation (two states).

Hence everything naturally is organised in powers of two.

We only use powers of 10 because we have ten fingers (including thumbs), Computers don't.

share|improve this answer

Bulk production is usually cheaper then diverse production. Producing 128MB and 256MB prints can be more expensive then just producint 256MB prints.

So if not a whole lot of different ram is produced you can best 'double' them to achieve the cheapest result.

Installing two of the same ram strips has the advantage that they should work together. Mixing different brands can result in some small differences slowing your machine down.

Dual channel ram works really great together if you add two strips off ram that are the same.

Ram is produced using smaller 'sub' chips. These chips are usually locked into a usable size. OS'es from a histroically prospective like simple 1024Kb blocks to use. So you wan't a multiple from that installed.

share|improve this answer
Only the last paragraph is related to this question, and even that is wrong... – jiggunjer Nov 21 at 12:28

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.