读《程序员数学》1-0的故事

1、计数法:计算数量的方法。
计数法有很多,但是他们都表示的是同一个物品的数量,只是方式不同。

比如 问 OOO有几个O?

数手指, 三个手指。
罗马计数法 III
十进制计数法 3
二进制计数法 11
还有科学计数法等。

2、按位计算法。
(1)书上没有明确定义,对于小的数其实无论用什么表示都可以比如1,你用一个三角形代表都可以,但是对于大的数,要考虑如何识别简单,计算方便,这样就形成了不同的计数法,其中使用进位的方式计算。每一个位都有具体含义的计数法就是按位计数法。

十进制 逢10进1位(生活中使用的)
二进制 逢2进1位
八进制 逢8进1位
十六进制 逢16进1位

可以按照任何数N来进位,N不等于0,称为N进制。其中N就是基数。
十进制数 ,可以看出位的含义就是基数的n次幂

(2)既然有按位计数法,就有其他的比如罗马计数法,其特点如下:
a. 数位没有意义
b. 没有0
c. 使用I(1)、V(5)、X(10)、L(50)、C(100)、D(500)、M(1000) 来计数
d. 将并排数字加起来,就是所表示的数

对比一下,就会觉得二进制不是那么困难,如:
6=VI
4=IV (小的在前面就相减)
134=CXXXIV

3、数制转换
如 十进制 转 二进制 3 -> 11

数制转换就是基数转换,逢10进1 改为逢2进1,但是无论怎么转换都代表相同的数量。(有点类似于 中文 翻译成 英语一样,语言不同,但是表达含义是一样的)

计算机中使用二进制计算,我们让计算机计算 3 + 4 = ?, 计算机会先换算为二进制 11 + 100 = 111,然后转为十进制7 显示出来。

4、计算机为什么用二进制?
(1)二进制电路设计更简单 0 和 1,比如加法的计算只有2 * 2=4种,而换成10进制,则10 * 10=100种。
(2)二进制数字种类少,但是数位多。适用于计算机,十进制数字种类多,但是位数少,适合人们使用。
(3)二进制转十进制,按照数位分解为基数的幂相加,十进制转二进制,则使用”取余法“。

5、指数法则
10 的 n次方 当n > 0,可以理解为n个10 相乘,但当 n < 1 (0 或者负数),则没有办法理解10 的0次方或者10的-1次方是什么意思,可以使用前一个数的1 / 10理解,因此 和 都是1。

指数法则表达式:

6、0的作用
(1)占位
按位计数法,每一位都有具体含义,0起到占为作用。不能省略。比如 102 和 12, 十位为0 和 没有十位的区别。

(2)统一标准,简化规则
按位计数法的各个数位所对应的大小统一表示为,否则就需要单独处理1这个数字。指数0在这里起到了标准化的作用。

你可能感兴趣的:(读《程序员数学》1-0的故事)