| Converting number bases | ||||||||||||||
| Computer number system: base 2 (binary) | ||||||||||||||
| Base (radix) k = 2, digits di = (0, 1) | ||||||||||||||
| Given: 13ten | ||||||||||||||
| Find: binary representation | ||||||||||||||
| b5 | b4 | b3 | b2 | b1 | b0 | |||||||||
| weight | 25 | 24 | 23 | 22 | 21 | 20 | ||||||||
| digit | 0 | 0 | 1 | 1 | 0 | 1 | 8 + 4 + 1 = 13ten | |||||||
| result | remainder | try it! | ||||||||||||
| start | 13 | |||||||||||||
| 13/2 | 6 | 1 | b0 | |||||||||||
| 6/2 | 3 | 0 | b1 | |||||||||||
| 3/2 | 1 | 1 | b2 | |||||||||||
| 1/2 | 0 | 1 | b3 | |||||||||||
| 0/2 | 0 | 0 | b4 | |||||||||||
| 0/2 | 0 | 0 | b5 | |||||||||||
| Why does this work? | ||||||||||||||
| 13ten | = b5 * 32 + b4 * 16 + b3 * 8 + b2 * 4 + b1 * 2 + b0 | |||||||||||||
| (2 * 6 + 1)ten | = 2 * (b5 * 16 + b4 * 8 + b3 * 4 + b2 * 2 + b1) + b0 | |||||||||||||
| Therefore, dividing by 2 gives a result of the expression in parentheses and a remainder of b0 | ||||||||||||||
| 6ten | = b5 * 16 + b4 * 8 + b3 * 4 + b2 * 2 + b1 | |||||||||||||
| = 2 * (b5 * 8 + b4 * 4 + b3 * 2 + b2) + b1 | ||||||||||||||
| Dividing by 2 again gives a remainder of b1 and so forth. | ||||||||||||||
| 3ten | = b5 * 8 + b4 * 4 + b3 * 2 + b2 | |||||||||||||
| = 2 * (b5 * 4 + b4 * 2 + b3) + b2 | ||||||||||||||
| 1ten | = b5 * 4 + b4 * 2 + b3 | |||||||||||||
| = 2 * (b5 * 2 + b4) + b3 | ||||||||||||||
| 0ten | = b5 * 2 + b4 | |||||||||||||
| What do all higher bits have to be? | ||||||||||||||