| Byte-by-byte Addressing | ||
|---|---|---|
| char * string = "ABCDEF";(Assume a 2-byte word.) | ||
| 00000000 | 'A' | |
| 00000001 | 'B' | |
| 00000010 | 'C' | |
| 00000011 | 'D' | |
| 00000100 | 'E' | |
| 00000101 | 'F' | |
| 00000110 | '\0' | |
| 00000111 | --?-- | |
| 00001000 | 00000001 | 0000000000000001 | 
| 00001001 | 00000000 | |
| 00001010 | 00000010 | 0000000000000010 | 
| 00001011 | 00000000 | |
| 00001100 | 00000000 | 0000000100000000 | 
| 00001101 | 00000001 | |
| 00001110 | 00000011 | 0000000100000011 | 
| 00001111 | 00000001 | |
| High-Order / Low-Order | |||
|---|---|---|---|
| 1 | 0 | ||
| 00000001,00000000 | 'B' | 'A' | |
| 00000011,00000010 | 'D' | 'C' | |
| 00000101,00000100 | 'F' | 'E' | |
| 00000111,00000110 | --?-- | '\0' | |
| 00001001,00001000 | 00000000 | 00000001 | (1) | 
| 00001011,00001010 | 00000000 | 00000010 | (2) | 
| 00001101,00001100 | 00000001 | 00000000 | (256) | 
| 00001111,00001110 | 00000001 | 00000011 | (259) | 
| 16-bit Word Addressing | ||||
|---|---|---|---|---|
| 0 | 1 | |||
| 00000000, 00000001 | 'A' | 'B' | ||
| 00000010, 00000011 | 'C' | 'D' | ||
| 00000100, 00000101 | 'E' | 'F' | ||
| 00000110, 00000111 | '\0' | --?-- | ||
| 00001000, 00001001 | 00000001 | 00000000 | (1) | |
| 00001010, 00001011 | 00000010 | 00000000 | (2) | |
| 00001100, 00001101 | 00000000 | 00000001 | (256) | |
| 00001110, 00001111 | 00000011 | 00000001 | (259) | |
(Addresses would actually be 16 bits long.)
| 32-bit Word Addressing (High-Order → Low-Order) | ||||||
|---|---|---|---|---|---|---|
| 11 | 10 | 01 | 00 | |||
| 00000011,00000010,00000001,00000000 | 'D' | 'C' | 'B' | 'A' | ||
| 00000111,00000110,00000101,00000100 | --?-- | '\0' | 'F' | 'E' | ||
| 00001011,00001010,00001001,00001000 | 00000000 | 00000000 | 00000000 | 00000001 | (1) | |
| 00001111,00001110,00001101,00001100 | 00000000 | 00000000 | 00000000 | 00000010 | (2) | |
| 00010011,00010010,00010001,00010000 | 00000000 | 00000000 | 00000001 | 00000000 | (256) | |
| 00010111,00010110,00010101,00010100 | 00000000 | 00000000 | 00000001 | 00000011 | (259) | |
(Addresses would actually be 32 bits long.)
| 64-bit Word Addressing (High-Order → Low-Order) | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| 111 | 110 | 101 | 100 | 011 | 010 | 001 | 000 | ||
| 00000 | --?-- | '\0' | 'F' | 'E' | 'D' | 'C' | 'B' | 'A' | |
| 00001 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000001 | (1) | 
| 00010 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000010 | (2) | 
| 00011 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000001 | 00000000 | (256) | 
| 00100 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000001 | 00000011 | (259) | 
(Addresses would actually be 64 bits long.)