Two ways of numbering memory meet in this idea.
Word-addressable memory. Every address names a whole word. Address 5 is the sixth word, however many bits it has. All the 2ᵏ × n memories in this topic are word-addressed: each address holds one n-bit word.
Byte-addressable memory. Every byte has an address (byte addressing), and a word spans several addresses. The word number (word address) then has to be converted:
- word n starts at byte address 4n (for 4-byte words)
- byte address b is in word ⌊b ÷ 4⌋, at byte b mod 4
In binary that's just a split: the low two bits of a byte address pick the byte within the word, and the remaining bits are the word number. That's also why aligned words start at addresses ending in 00.
The address bits needed differ too. 64K 16-bit words need 16 bits as a word address, but the same 128 KiB needs 17 bits if every byte has its own address.