第一章 0 的故事–无即是有
10 进制计数法
什么是 10 进制计数法
- 数字有 10 种,0、1、2、3、4、5、6、7、8、9.
- 数位:从右往左数表示 个、十、百、千、万…位。
分解
- 2503 = (2 x 10 ** 3 )+ (5 x 10 ** 2) + (0 x 10 ** 1) + (3 x 10 ** 0)
2 进制计数法
什么是 2 进制计数法
- 数字有 2 种,0、1.
- 从右往左分别表示 1 位、2 位、4 位、8 位
分解
- 1100 = (1 x 2 ** 3) + (1 x 2 ** 2) + (0 x 2 ** 1) + (0 x 2 ** 0)
基数转换
/**
* 逆向排序 1100
*/
12 / 2 = 6 余数 0
6 / 2 = 3 余数 0
3 / 2 = 1 余数 1
1 / 2 = 0 余数 1
/**
* 1000 转换 二进制 逆向 1111101000
*/
1000 / 2 = 500 余数 0
500 / 2 = 250 余数 0
250 / 2 = 125 余数 0
125 / 2 = 62 余数 1
62 / 2 = 31 余数 0
31 / 2 = 15 余数 1
15 / 2 = 7 余数 1
7 / 2 = 3 余数 1
3 / 2 = 1 余数 1
1 / 2 = 0 余数 1计算机中为什么采用 2 进制计数法
- 在十进制计数法中,位数少,但是数字种类多。 对人类来说,这种比较易用。
- 在 2 进制计数法中,数字的种类少,但是位数多。对计算机来说,这种比较易用。
按位计数法
什么是按位计数法
16、10、8、2、N 进制计数法都被称作为 按位计数法
N 进制计数法:
- 使用数字有 0、1、2、3…、N-1,共 N 种
- 从右往左分别为 Nº 的位、N¹ 的位…(基数是 N)
- 例如: 4 位数的 N 进制 a₃a₂a₁a₀ = a₃ x N³ + a₂ x N² + a₁ x N¹ + a₀ x Nº
不按位计数法的罗马数字
- 没有数位,只表示数字本身
- 没有 0
- 使用 I(1)、V(5)、X(10)、L(50)、C(100)、D(500)、M(1000)来计数
- 并排的数字加起来,就是所表示的数
- III(3)、VI(6)、VIII(8)、CXXIII(123)、LXXVIII(78)
- IV(4) 减法规则表示 5 - 1 = 4
##指数法则
10 的 0 次方是什么?
10³ = 1000
10² = 100
10¹ = 10
10º = ?10 右上角的 数字(指数)减 1,数字就变为原本的 10 分之 1.
规则的扩展
- 指数法则表达式: N ** a + N ** b = N ** (a + b)
0 所起的作用
0 的作用: 占位
- 2503 如果没有了 0 就变成了 253
人类的极限和构造的发现
重温历史进程
- 古埃及人使用 5 进制和 10 进制混合的计数法
- 巴比伦人使用 1 和 10 两种菱形来表示 1 - 59,并通过几号的所在位置表示 60 ** N 的数位。现在的 1 小时 60 分钟、1 分钟 60 秒换算源于巴比伦的 60 进制计数法。
- 古希腊人数字不仅是运算工具,还注入哲学真理。他们将图形、宇宙、音乐和数字相关联
- 玛雅人使用 20 进制计数法,从 0 开始。
- 罗马人 使用 5 进制和 10 进制混用。
- 印度人引进巴比伦的按位计数法,采用的是 10 进制计数法,被称为阿拉伯数字而不是印度数字