- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
上节课,我们了解到之所以在计算机中采用二进制来进行信息存储和运算,主要是因为二进制特别易于实现,同时又具有简易性、可靠性、逻辑性等基本特征。我们还学习了数制中基数和权值的概念,并由此掌握了二进制数的表示方法。这节课,让我们继续数制问题,先来了解一下二进制的计算规则吧。
二进制的加法:有四条规则,一句话概括就是“逢二进一”
0+0=00+1=11+0=11+1=10
大家动动手,来做一个简单的例题吧:
例1:求(1001)2+(1010)2的和
先做一个简单的说明,为了将不同数制的数值进行区分,比如,在这个例题中,为了不让人误会1001是一个十进制数一千零一,我们会将数值用小括号括起来,并标注下标为数制的基数,所以,在这儿,只要看到括号右下角的2,我们就能知道这是一个二进制数。
接下来就跟做十进制加法一样,将两数的数位对齐后,从低位向高位逐位相加,0、0相加为0,1、0相加为1,1、1相加需要进位。是不是很容易就得到了答案10011?
接下来看看,二进制的减法,同样也是四条规则,一句话概括就是“借一当二”
0-0=01-0=11-1=010-1=1
一起来看看例2:求(1101)2-(1011)2的差
有了加法的经验,减法就更加轻松了,按照减法规则,逐位相减,很快就得到了答案0010,当然,跟十进制一样,二进制数值当高位为零时,是可以省略不写的,所以答案就是10。
3、二进制的乘法规则就更简单了,看上去虽然也是4条规则,但总结成一句话就是:只有1和1相乘结果不为0
0×0=01×0=00×1=01×1=1
那么,大家直接动手做例题3吧:求(1110)2×(101)2之积
1做乘法的时候,就将原数照样抄一遍,0做乘法的时候得数就是全0,很快就得到了结果,1000110,简直是不要太简单,对不对?
4、再来是依然很简单的二进制除法,只有两条规则:
0÷1=01÷1=1
第四个例题,大家来做做看吧:求(1000110)2÷(1110)2
跟十进制相比,二进制的运算真是十分简单,因为商的每一位不是1就是0,根本不需要十进制中试商的过程,运算结果溜溜地就出来了。
通过对二进制四则运算的学习和练习,大家应该更加能够认同上节课我们所讲过的,二进制确确实实是一种运算过程十分简明清晰的数制。
我们已经知道二进制是计算机世界所选择的数制形式,而人类最熟悉的数制形式又是十进制,所以,我们很有必要掌握二进制与十进制之间相互转换的方法。
还记得我们上节课讲过的二进制数值的表示方法吗?任意一个二进制数可以根据基数和权值表示为:
C=cn-12n-1+cn-22n-2+…+c121+c020+c-12-1+…+c-m2-m
这样,任意一个二进制转换为十进制就只需要按照公式按权值展开求和就可以了。
例如,把例题5中的二进制数1011.01,转换成10进制,结果是多少呢?不论是整数部分还是小数部分,都只要按位按权值展开求和,就得到了11.25的结果。
(1011.01)2
=(1×23+0×22+1×21+1×20+0×2-1+1×2-2)10
=(8+0+2+1+0+0.25)10
=(11.25)10
那么十进制数要怎样转换成二进制呢?稍微有那么一点点复杂,因为我们要分两个步骤来完成。
先来看看十进制的整数部分如何转换成二进制
方法是将十进制数逐次除以2取余数,再将所得余数进行逆序排列,又叫做除二取余法。还是老规矩,直接看例题。例6:将(35)10转换成二进制数。
将35逐次地除以2,依次取得余数为:1、1、0、0、0、1,那么35转换成的二进制数就是将余数结果逆序排列,也就是:100011,好像也没有多难,对不对?
那,十进制小数又该如何处理呢?十进制的小数部分转换成二进制
方法是将十进制的小数部分逐次乘以2取结果的整数部分,将每次所得整数部分依次顺序排列,又叫做乘二取整法。
直接看例题,例题7:将(0.6875)10转换成二进制数。
我们将0.6875一次一次地与2相乘,依次取得每次计算结果的整数部分,也就是1、0、1、1,那么转换的最终结果就是顺序排列的取整结果:0.1011
需要提醒大家注意的是,并不是每一个十进制小数都能转换为有限位数的二进制小数,当然,我们不能没完没了地转换下去,这时可以采用类似于十进制中四舍五入的方法,也就是“0舍1入”的方法进行处理。
比如,例8:将十进制数(0.335)10转换为二进制小数,要求精确到0.001。
方法仍然是乘2取整,题目要求计算精度为保留小数点后3位,因此,进行乘2取整时,应该取到第4个整数部分,取整结果依次为:0、1、0、1,最后一位为1,按照0舍1入的规则,应该往前进一位,所以最终计算
文档评论(0)