您好,欢迎访问三七文档
第二章二进制同学们在进行整数四则计算时,用的都是十进制即“满10进一”,对于其他进制则感到陌生。实际上,你只要留惦一下,在我们日常生活中,不仅使用十进制还使用其他许多进制呢!你信不信?我举一些例子。两只袜子为一双,两只水桶为一对,这里使用的是二进制;十二支铅笔为一打,十二个月算一年,这里使用的是十二进制;六十秒是一分,六十分是一时,这里使用的是六十进制;二十四时为一天,这里使用的是二十四进制;100平方分米等于一平方米,100平方厘米等于一平方分米,这里使用的是一百进制;1000米等于一千米,1000克等于1千克,这里使用的是一千进制;……。怎么样?实际上还可以发现更多的这样的例子。随着科学技术的发展,数字电子计算机的使用日益普遍,每位同学可能都使用过电子计算器吧?可是你们要知道,计算器内部进行的计算就使用的是二进制数。我们经常和计算器打交道,应该懂一些二进制数方面的知识。1、什么叫二进制所谓二进制,就是只用0与1两个数字,在计数与计算时必须是“满二进一”。即每两个相同的单位组成一个和它相邻的较高的单位(所以任意一个二进制数只需用“0”与“1”表示就够了)。例如:2在二进制中是10;3写成二进制是11;4写成二进制数便是100,那么5呢?应该是101。同学们按照“逢二进一”(或“满二进一”)的法则,很容易得到以下两种进制的数字的对照表:表1十进制二进制十进制二进制12345678110111001011101111000910111213141516100110101011110011011110111110000二进制的最大优点是:每个数的各个数位上只有两种状态——0或1。这样,我们便可以通过简单的方法,例如白与黑、虚与实、负与正、点与划、小与大、暗与亮(在计算机中主要用电压的高与低)等等手段加以表示。下表中列出了在二进制中13的几种不同表示方法。表20与1白与黑虚与实负与正点与划小与大1101●●○●--…-++-+――·-○○о○当然,二进制也有不足,正如大家看到的那样,同一个数和在二进制中要比在十进制中位数多得多。2、十进制与二进制的互相转化今天,当我们写上一个数目1997时,实际上意味着我们使用了“十进制”数,即1997=1×1000+9×100+9×10+7×1也就是说,1997中含有一个1000,九个100,九个10与七个1。在表1中可以看到:二进制数10表示十进制数2;二进制数100,表示十进制数4;二进制数1000,表示十进制数8;二进制数10000表示十进制数16;…;可以看出规律;二进制数100000应该表示十进制数32,…。那么我们写下一个二进制数10110,则应表示它含有一个16,一个4与一个2,也就是10110=1×16+0×8+1×4+1×2+0×1明白了上面所说的两点,则二进制与十进制之间的转化的道理就容易懂了。为了叙述的方便,我约定:用()2表示括号内写的数是二进制数。如(1011)2;用()10表示括号中写的数是十进制数,如(37)10。例1把(10110)2改写成十进制数=(22)10例2把(1110101)2改写成十进制数。【分析】因为位数太多,我们先从低位写起解:(1110101)2=1×1+0×2+1×4+0×8+1×16+1×32+1×64=1+4+16+32+64=(117)10从上面两道例题可以看到:将一个二进制数写成十进制数的第一步骤是:将二进制数的各数位上数字改写成相应的十进制数。因为是“满二进一”,所以高位是相邻低一位数的2倍。一个二进制的各个数位(由低位到高位)对应十进制数的规律是:1,2,4,8,16,32,64,128,256,512,1024,…第二个步骤是将各数位上对应的十进制数求和,所得结果便是相应的十进制数。再看一遍。例3将(110100111)2改写成为十进制数。【分析】还是由低位写起解:(110100111)2=1×1+1×2+1×4+0×8+0×16+1×32+0×64+1×128+1×256=1+2+4+32+128+256=(423)10下面我们介绍如何将一个十进制数改写成相应的二进制数。例4把(60)10改写成二进制数。解:(60)10=32+28=32+16+12=32+16+8+4=32+16+8+4+0×2+0×1=(111100)2说明:从解题过程中立即便能看出,将十进制数写成二进制数的过程,正好与将二进制数改写成十进制数的过程相反:先由高位开始考虑,将十进制数尽可能地凑出相应二进制数的最高位,然后逐步往下进行。例5把(45)10改写成二进制数。【分析】(45)10不足64,所以它对应的二进制数的最高位是32,即45=32+13,剩下的13不足16,则向下一位考虑。45=32+0×16+(8+5),剩下的5中包含一个4,即45=32+0×16+8+4+1,最后一位数是1,又不足2,所以对应的二进位数又空一位。解:(45)10=32+0×16+8+4+0×2+1=(101101)2练一练:(1)将(31)10改写成二进制数;(2)将(78)10改写成二进制数;下面我们再介绍一种将十进制数写成二进制数的常用方法——除二倒取余法。例如要将(71)10写成二进制数,参见右式。我们将71除以2,余数1相应写在右边(如果除尽,余数则写0);再将商35除以2,余数1相应写在右边;再将这步的商17除以2,重复上述过程,直到商等于1为止。并且最后一步的商“1”也写到右边余数那一列的最下面。最后将这列余数由下到上写成一行数,这行数便是(71)10的二进制数表示法。即(71)10=(1000111)2例6用除二倒取余法将(38)10写成二进制数解:∵238……0219……129……124……01……1∴(38)10=(100110)2例7用两种方法将(107)10改写成二进制数。解:方法一(107)10=64+43=64+32+11=64+32+0×16+8+3=64+32+0×16+8+0×4+2+1=(1101011)2方法二2107……1253……1226……0213……126……023……11……1例8计算:①(11010)2+(1111)2②(1110010110)2+(101110111)2③(11011011)2+(1110)2+(1011011)2④(1101)2-(1010)2⑤(1101101)2-(1010110)2⑥(1000000)2-(10011)2-(101101)2【分析与解】①11010+1111271……1235……1217……128……024……022……01……1101001从而:(11010)2+(1111)2=(101001)2②1110010110+10111011110100001101∴(1110010110)2+(101110111)2=(10100001101)2③110110111110+1011011101000100从而:(11011011)2+(1110)2+(1011011)2=(101000100)2④1101-10100011∴(1101)2-(1010)2=(11)2⑤1101101-101011010111∴(1101101)2-(1010110)2=(10111)2⑥1000000-10011101101又101101-1011010∴(1000000)2-(10011)2-(101101)2=(0)2注:二进制的乘法的特点是:“1乘任何数仍是原数”,“0乘任何数都得0”;二进制除法也有整除和非整除之分,整除时,有关系式:被除数=除数×商不能整除时,有关系式初除数=除数×商+余数当对二进制数进行混合运算时,其顺序与十进制数完全相同。例9计算:①(110110)2×(10111)2②(110110)2÷(110)2③(101101)2÷(111)2④[(1110)2+(1010)2]+(100001)2÷(1011)2【分析与解】①1110110×10111111011011101101110110+1110110101010011010∴(110110)2×(10111)2=(101010011010)2②10011101101101101101100∴(110110)2÷(110)2=(1001)2③110111101101111100011111∴(101101)2÷(111)2=(110)2……(11)2④[(1110)2+(1010)2]+(100001)2÷(1011)2=(11000)2+(11)2=(11011)2例10证明218-1能被7整除。【分析】∵(218-1)10=(1018000个)2-(1)2=(118111个)2而(7)10=(111)2,故有218-1÷7=(11……1)2÷(111)2=(1001001001001001)2由二进制数表示的整除关系知,218-1能被7整除。例11若m、n是两个自然数,且n2,那么2m+1不能被2n-1整除,试说明原因。【分析】与例10相同,也先将所给式表示为二进制数,然后再利用二进制数的除法运算即可。想:∵2m+1=(101000个m1)2,2n-1=(11111个n)2若n≥m+1,显然2m+1不能被2n-1整除;茹n<m+1,两数相除可以用下面竖式表示:10…111……11000…00…0…1111……1100…011…110…1从上面的算式可以看出,每次的余数都是100…01形式,而除数为11……1,故不能整除。例12求证:215-214+213-212+211-210+29-28+…+2-1能被5整除。【分析】仍然使用例10,例11的分析方法,先化为二进制数。想:由于215-214+213-212+211-210+…+2-1=(215+213+211+29+…21)10-(214+212+210+28+…20)2=(1010101010101010)2-(101010101010101)2=(101010101010101)2而:(5)2=(101)2所以(101010101010101)2能被(101)2整除,故:215-214+213-212+…+2-1能被5整除。例13现有1克,2克,4克,8克,16克的砝码各一枚,问天平上能称出多少不同的重量?【分析】所给砝码恰好是二进制中从小到大的五个计数单位,所以可考虑应用二进制知识来解决。用这些砝码称重量时,如果用了1克的砝码,就在二进制数的右数第一位写1,否则写0;如果用了2克的砝码,就在二进制数的右数第二位写1,否则写0;依次类推,这表明所称的每个重量都可用二进制表示,反过来,用这五个砝码所能称出的最大重量是1+2+4+8+16=31(克)而不超过31的数都可用一个不超过5位的二进制数来表示,所以,一共能称出31种不同的重量。例14将六张数字卡片按一定顺序排列成如下表,你只要依次(从左到右)从六张卡片上报出有没有你的年龄数(若其中一张卡片上有你的年龄数,就说“有”,否则就说个“无”),那么待你全部报完,我们就能猜出你的年龄数,为什么?323334353637383940414243444546474849505152535455565758596061626316171819202122232425262728293031484950515253545556575859606162638910111213141524252627282930314041424344454647565758596061626345671213141520212223282930313637383944454647525354556061626323671011141518192223262730313435383942434647505154555859626313579111315171921232527293133353739414345474951535557596163(1)(2)(3)(4)(5
本文标题:第二章二进制
链接地址:https://www.777doc.com/doc-2185980 .html