粉丝福利
严伯钧的硬派科普秀交流群来啦,跟着严老师一起聊聊科普、了解物理界新动向、第一时间get严老师的活动消息,还有不定期的社群活动福利哦。
入群方式
微信添加yan_bojun,并回复:科普秀,我们将会邀请你入群。
欢迎每一位在听《严伯钧的硬派科普秀》的你的到来。
精华笔记
只使用0和1的信号,计算机到底是如何进行复杂运算的呢?
一、二进制与十进制的转换
1. 二进制就是用0和1来表示数字,规则是逢2进位。例如,2用10来表示,3是11,4是100;
2. 如果把二进制的表示方法转换成十进制呢?方法是先从右往左标位数,一个n位数的二进制数字可以用0到n-1位表示出来;
3. 然后从第0位算起,用每一位的数字,也就是0或者1,乘以2的位数次方,再把这些数字全部加起来。例如1001,转换成十进制就是1+0+0+8=9;
4. 整数计算很简单,而浮点数的计算要用到科学计数法。例如1.3455可以看成是13455乘以10的-4次方,计算机要记录13455和-4就两个数字;
5. 有了这个基本的运算方式,才能进行人类熟悉的十进制运算;
二、加减法电路
6. 计算机运算靠的是逻辑门。根据电流的通断,计算机有三种最基本的逻辑门,分别是AND、OR、NOT;
7. 逻辑门可以分为输入端和输出端。AND门是当两个输入信号都是1的时候,才输出1,否则都输出0。OR门只要有一个输入1,就输出1。NOT门只有一个输入信号,功能是把信号倒转;
8. 这几个基本逻辑门进行组合还能给出更多的逻辑门,比如XOR门,就是当两个输入信号不同的时候,才输出1,其它都输出0;
9. 有了这些逻辑门就可以做二进制的加法运算了。比如0和1之间的加法,首先是个位数字:0+0给出0,0+1和1+0都给出1,但是利用XOR门,可以让1+1给出0,因为1+1=2,表示成二进制是10,个位数确实是0;
10. 而对于十位数,1+1要让十位数是1,这就需要给XOR门并联一个AND门,就可以给出1了。让AND门负责十位数,XOR门负责个位数,一个简单的二进制加法就做出来了;
11. 把这个计算单元作大规模的串并联,就可以给出多位数的二进制加法电路;
| 几种简单的逻辑门
三、积分电路
12. 整数和小数的计算都是离散的,碰到连续的积分运算,计算机是借助基本的物理过程来实现的;
| 积分运算
13. 在电容器充放电的过程中,电量随时间连续变化,它天然就是一个积分的过程;
14. 通过电子元器件的物理原理,可以直接得出积分的数值,这就是积分电路的基本方法。
严老师,什么时候讲讲各种计算机算法呀?比如遗传算法等等的原理?
严伯钧 回复 @Kevin___Chen: 有机会讲,这个领域比较细了。
听您讲真的很有意思,这一集我很想听懂奈何我数学是生理卫生老师教的
严伯钧 回复 @白衬衣的码: 受罪了。
1500转换成二进制: 1500/2=750…0 750/2=375…0 375/2=187…1 187/2=93…1 93/2=46…1 46/2=23…0 23/2=11…1 11/2=5…1 5/2=2…1 2/2=1…0 1/2=0…1 (1500)10=(10111011100)2
严伯钧 回复 @a天空a: 正确
拉普拉斯之箱?独角兽高达?
二进制还是没太明白
又复习了一次大学专业基础课。
不是还有补码和反码吗
不是还有补码和反码吗
老师,二进制的原码,反码和补码是干什么的?
严伯钧 回复 @东成西就73: 因为我们会在一个二进制前面加1表示负数,但是这样一搞会出现一个正数加上它的相反数不为零的情况,比如3是0011,-3是1011,二者相加不为零,反码和补码就是为了修正这方面Bug而出现的。