tags:

views:

156

answers:

3

for example int = x; because int is 4 bytes they would take up 4 memory locations

x x x x

+3  A: 

This has nothing to do with being 32 or 64 bit. Anyway, most architectures use byte addressable memory, so I guess the answer should be "Well... in a sense, yes."

Zed
A: 

It depends on the architecture. For a full breakdown see the wikipedia page on words.

NOTE: For x86 each address is 1 byte.

tster
On the page you linked, the relevant information can be found in table "Table of word sizes". Look at the "Unit of Address Resolution" column for architectures of the last 30 years.
Zed
A: 

A 32 bit machine means that integers are 32 bits wide.

Whether that means an integer is four bytes or not is not actually defined. A byte is not necessarily 8 bits.

It definitely does not mean there is 4 GB RAM or 2^32 addressable cells.

The 8086 is a 16 bit machine but had 1 MB of addressable RAM. The 286 got 1MB + 64k - 16bytes, but had the ability to perform segmented memory mapping allowing use of a lot more RAM (4MB I believe).

The Pentium II and up are 32 bit processors but actually support up to 64GB RAM but a process can only address 4GB at a time.

The current x64 processors cannot address 2^64 bytes of RAM.

And some machines are not even byte addressable.

Joshua