Virtual Memory: a very large array of bytes --> combination of DRAM, flash memory, disk storage, special hardware, and operating system software to provide the program with what appears to be a monolithic byte array
Masking Operations: a mask is a bit pattern that indicates a selected set of bits within a word (e.g. x & 0xFF yields a value consisting of the least significant byte of x, with all other bytes set to 0)
Right Shift:
- Logical: fills left end with k zeros
- Arithmetic: fills left end with k repetition of the most significant bit (useful for operating on signed integer data)
Principle:
- Uniqueness of unsigned encoding: [bijection]
B2UwB2UwB2Uw (bit vector of length w -> a unique number between 0 and 2w−12^w - 12w−1) and
U2BwU2BwU2Bw (a number between 0 and 2w−12^w - 12w−1 -> a unique bit vector of length w) - Uniqueness of two’s complement encoding: [bijection]