学习资料:https://www.bilibili.com/video/BV1HW4y1A7Yi?p=2&vd_source=d6b1de7f052664abab680fc242ef9bc1
为什么计算机里计数从0开始?——0代表位置,而不是个数
我们希望从个位开始计数,即代表的是1(从右至左),第二位代表的:若是十进制是10,若是二进制是2(以后每进一位都增加一倍)。而
1
0
0
=
1
10^{0}=1
100=1,
2
0
=
1
2^{0}=1
20=1,不论几进制,都是0次方代表1,所以为了计数,第几位(分栏)我们从0开始数,也就是说,数的不是计数,而是指数代表的位置。
一只手(5个手指)最多能表示出数字0到31,怎么做到的?
十进制,两只手只能数到10 VS 二进制,一只手数到31,这到底是为什么?
就二进制而言,只有0和1。因此一根手指收回是数字0,举起是数字1。而十进制,1至10。因此一根手指是1,两只手指是2,直至数到10。
所以二进制,每个手指代表一栏(位置)(5个栏,每栏都是一个单位),十进制中每个手指只代表1(始终在个位,一栏里数字是一个一个往上加的)。
具体而言,二进制手指1,2,4,8,16(左手);32,64,128,256,512(右手)。那么当左手的手指都摊开时,就是等比数列求和1+2+4+8+16=31。
当然,除此之外,二进制还可以用来表示26个字母,并且用手指表示出来。参见
https://www.cnblogs.com/ooo0/p/14410525.html
实际上是十进制到二进制的转换: 26个字母->1-26(十进制)->1-11010(二进制)
字节bite有8位,它可以表示出256个数:0至 2 8 − 1 2^{8}-1 28−1
为什么计算机使用2进制?
第一,因为把一件事情的结果分成非此即彼是最简单的。
第二,十进制,两只手只能数到10 VS 二进制,一只手数到31
小结:
1.世间万物,只要能编号(十进制),都可以转化成二进制存入计算机
2.解决问题的思路就是算法(一题可以多解,评判优劣就是看效率–即算法复杂度),算法用伪代码记录,代码是连接真实世界和计算机世界的桥梁
3.术语:
“函数”就是一个动作(比如print就是显示出来)
“返回值”意味着产生交互后从外界得来的结果(没有print的话并不显现)
“模块化”是一个个小功能,
“并行”是每个对象对应的多个程序互补连接,可以同时进行,比如一个按钮触发多个机制,一个人既会唱歌又会跳舞。