The first personal computers were 16-bit machines.
They dealt naturally with 16-bit-wide binary quantities:
they had a word size of 16 bits.
This did not affect the size of the numbers that they could
compute with, but it affected memory addressing.
Generally, memory addresses were limited to 16-bit numbers,
meaning that they ranged between
The 16-bit addresses of the early machines were too small even then. Hardware schemes involving segmentation registers were introduced so that more than 64K bytes of memory could be attached to the computer. The operating system would manipulate the segmentation registers so that different parts of the memory could be used by different programs, or by the same program at different times. Fundamentally, though, the programs had to deal with 16-bit memory addresses.
It took a computer hardware revolution to fix this.
The new personal computers were 32-bit machines: they used 32-bit integers and 32-bit
memory addresses.
32-bit memory addresses range from
It's difficult to express how big an impact this was on program developers. Suddenly, size of programs and data was no longer a problem. Things had to fit in the memory the computer had, but this was much more than 64Ki bytes. Programming became much simpler; programs could be larger, could incorporate more functions, and could do much bigger tasks. The benefits of the larger address were significant enough that it was worth going through porting difficulties in order to move operating systems and applications from 16-bit to 32-bit machines.
Today 16-bit machines are history as far as personal computers and larger computers are concerned. 16-bit processors are still made (they are generally very inexpensive) but they are used for specialized purposes such as controlling appliances and automobiles rather than in general-purpose computers. Almost all of today's PCs and large server computers are 32-bit machines, with the exceptions being 64-bit machines.
Sixty-four-bit machines are becoming increasingly common.
Once limited to the machine rooms of large companies because of their expense and
physical size, 64-bit computers can now be purchased as home PCs.
They use 64-bit integers and 64-bit memory addresses.
Sixty-four-bit memory addresses range from



Prefixes for binary multiples





