目标
- 十进制转二进制
公理
偶数 + 偶数 = 偶数,偶数 + 奇数 = 奇数。
推导
将 137 转为二进制数。
w 位二进制数能表示的最大值:2w - 1,所以使用 8 位二进制数表示 137。
设 137 = a7 * 27 + a6 * 26 + a5 * 25 + a4 * 24 + a3 * 23 + a2 * 22 + a1 * 21 + a0 * 20
多项式的前 7 项都是偶数,第 8 项为 a0,而 137 是奇数,所以 a0 为 1。
两边减去 1:136 = a7 * 27 + a6 * 26 + a5 * 25 + a4 * 24 + a3 * 23 + a2 * 22 + a1 * 21
两边除以 2:68 = a7 * 26 + a6 * 25 + a5 * 24 + a4 * 23 + a3 * 22 + a2 * 21 + a1 * 20
多项式的前 6 项都是偶数,第 7 项为 a1,而 68 是偶数,所以 a1 为 0。
两边除以 2:34 = a7 * 25 + a6 * 24 + a5 * 23 + a4 * 22 + a3 * 21 + a2 * 20
a2 为 0。
两边除以 2:17 = a7 * 24 + a6 * 23 + a5 * 22 + a4 * 21 + a3 * 20
a3 为 1。
两边减去 1:16 = a7 * 24 + a6 * 23 + a5 * 22 + a4 * 21
两边除以 2:8 = a7 * 23 + a6 * 22 + a5 * 21 + a4 * 20
a4 为 0。
两边除以 2:4 = a7 * 22 + a6 * 21 + a5 * 20
a5 为 0。
两边除以 2:2 = a7 * 21 + a6 * 20
a6 为 0。
两边除以 2:1 = a7 * 20
a7 为 1。
所以 137 的二进制为:10001001。
过程如下:
137 为奇数,所以 a0 为 1
68 为偶数,a1 为 0
34 为偶数,a2 为 0
17 为奇数,a3 为 1
8 为偶数,a4 为 0
4 为偶数,a5 为 0
2 为偶数,a6 为 0
1 为奇数,a7 为 1