第一章 0的故事
知识点:
1. 数的表达
2. 十进制
3. 用指数理解十进制
4. 理解二进制
5. 十进制数装换成二进制
6. 计算机为什么使用二进制
7. 按位计数法和罗马数字
8. 指数为负
9. 归纳一个简单规则
10. 0的占位和标准化
11. 分解问题
1.数的表达
数可以用不同的符号和方法来表示,但是他们本身的含义是相同的。
罗马数字、汉字、十进制、二进制
DCXLII、六百四十二、642、1010000010。
2.十进制
十进制使用10个符号,并且有位的概念
符号:使用十个符号代表了十个数字。
位:每一位比前一位表示的数大10。
3.用指数理解十进制
例子: 十进制的2506可以表示为 2个千 + 5个百 + 0个十 + 6个一 。
这种计数方法比罗马人和埃及人使用的符号相加更加先进,因为有了位的概念所以使用少量的符号就可以很直观的表示出很大的数字。上面的例子可以进一步抽象成更加数学的语言。千、百、十、一、都可以用指数的性质表示出来。
4.理解二进制
只是用2个符号,0和1。位与位的基数是二。 尝试从二进制时钟上阅读时间,可以很好的熟悉二进制了。关键是理解位与位之间相隔的倍数是二。
5.十进制转换成二进制
使用短除法,但是没什么用。在实际中,绝对使用计算机了除非脑子抽了才会去笔算吧。
6.计算机为什么使用二进制
1.计算规则简单。2.物理建造简单。 3.和逻辑代码真假对应。
以下是几个知乎上比较好的解释
当然要弄成多进制也不是不可以,但是分得多了,出错的几率也就大比如用二进制,5V电压可以直接用2.5V作分界,5V-2.5V是1,2.5V-0V是0,这样大的区间就保证出错机率小(实际运用不可能真的就5V为1而0V为0的)但是若多进制,比如10进制,5V就要分10下,那么每个区间就有点小了,一不小心就跳到别的区间去了。要解决也不是不可以,第一提高电路的精度(难),第二提高电压(简单),但提高电压电路在设计时要考虑的问题就更多了,而且带来的功耗问题都不利于集成电路的发展
链接:https://www.zhihu.com/question/20830886/answer/16323012
1.从可行性来说,采用二进制,只有0和1两个状态,能够表示0和1两种状态的电子器件有很多,比如开关的接通和断开、晶体管的导通和截止、磁原件的正负剩磁、电位电平的高低等都可以表示0和1两个数。使用二进制,电子器件具有实现的可行性。 2.从运算的简易性来说,二进制的运算法则少,运算简单,使计算机运算器的硬件结构大大简化(十进制乘法九九口诀有55条公式,而二进制乘法只有四条规则)。 3.从逻辑上讲,由于二进制0和1正好和逻辑代码假和真相对应,有逻辑代数的理论基础,用二进制表示二值逻辑很自然。
链接:https://www.zhihu.com/question/20830886/answer/28334973
7.按位计数法和罗马数字
所有有位这个概念的计数法都是按位计数法,比如8,16进制。书里举出了罗马数字这种符号相加法的计数法只是为了对比。
8.指数扩张
指数这个概念,指的是自己乘自己。 10的三次方,就是三个自己相互插。 10 X 10 X 10 就是1000。所以提到0次方和负数次方,绝对一脸懵逼。
所以很早以前有一帮开了脑洞的数学家就想好了,10的3次和2次相差了10倍,就是10的三次方除10就是2次方。10的一次方就是10,在除10就是0次方了所以10的0次方是1,-1次方就是在除10,结果是10十分之一,书上有一个表很好理解。
9.归纳一个简单规则
你不需要去记忆某些东西,只需要去归纳一个简单可靠的规则就行了。
以下是维基百科中有关指数运算的词条,最后得出的公式简化了记忆,变成了简单的规则。这一点可以用在以后的学习中。
10.0的占位和标准化
占位:不能省略的没有。
标准化:并不是很理解标准化,因为找不到除了在指数规则之外的应用
11.分解问题
分解一个大问题,让问题变的更好处理。