Most computers use a 8-bit block (known as Byte byte) as the smallest addressable memory unit, rather than accessing individual bits in memory. The program treats the memory as a very large byte array called the virtual memory (virtural memories). Each byte of the memory is marked by a unique number, called its address, and the set of all possible addresses is called the virtual address space.
This virtual address space is just a conceptual image, and the actual implementation is shown in chapter Nineth.
Each computer has a word size of length. 32-bit, 64-bit.
Byte and word length are clearly divided
BYTE order (big-endian, small-ended)
Bit operations:
A ^ a = 0
A ^ b ^ a = a ^ a ^ b = B (order independent, bit operation)
Shift Operations:
Arithmetic right shift (left complement most significant bit) and logical right shift (left 0)
Integer representation
The conversion between the signed number and the unsigned number:
Bit patterns do not change, just the way these bits are interpreted
Extend the bit representation of a number:
Unsigned number adds 0, signed number to add most significant bit
e.g:1001 unsigned number extension, 00001001 signed number expansion 11111001
Compiler, assembler, Linker, Loader