计算机进制转换_第1页
计算机进制转换_第2页
计算机进制转换_第3页
计算机进制转换_第4页
计算机进制转换_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

6.2二、八、十六进制数转换到十进制数6.2.1二进制数转换为十进制数二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……所以,设有一个二进制数:01100100,转换为10进制为:F面是竖式:01100100换算成十进制TOC\o"1-5"\h\z第。位 0 * 2° = 0第1 位 0 * 二 0第2 位 1 * 2z = 4第3 位 0 * 2,= 0第4位 0 100用横式计算为:0*20+0*2-1*22+1*2100用横式计算为:0*20+0*2-1*22+1*23+0*24+125+1*26+0*27=1000乘以多少都是0,所以我们也可以直接跳过值为0的位:1*22+1*23+1*25+1*26=1006.2.2八进制数转换为十进制数839第5位 1 * = 32第6位 1 * = 64第7位0*2,=0 +八进制就是逢8进1。八进制数采用。〜7这八数来表达一个数。八进制数第0位的权值为8的。次方,第1位权值为8的1次方,第2位权值为8的2次方……所以,设有一个八进制数:1507,转换为十进制为:用竖式表示:1507换算成十进制。第。位7*8°=7第1位0*£=0第2位5*82=320第3位1*8,=512 +同样,我们也可以用横式直接计算:7*8°+0*81+5*82+1*8,=839结果是,八进制数1507转换成十进制数为8396.2.5十六进制数转换成十进制数2进制,用两个阿拉伯数字:0、1;8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;10进制,用十个阿拉伯数字:。到9;16进制,用十六个阿拉伯数字……等等,阿拉伯人或说是印度人,只发明了10个数字啊?16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15o字母不区分大小写。十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……所以,在第N(N从0开始)位上,如果是是数X(X大于等于0,并且X小于等于15,即:F)表示的大小为X*16的N次方。假设有一个十六进数2AF5,那么如何换算成10进制呢?用竖式计算:2AF5换算成10进制:第。位:5*16°二5第1位:F*161=240第2位:A*162=2560第3位:2*163=8192+10997直接计算就是:5*16°+F*161+A*162+2*163=10997(别忘了,在上面的计算中,A表示10,而F表示15)现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。假设有人问你,十进数1234为什么是一千二百三十四?你尽可以给他这么一个算式:1234=1*103+2*102+3*101+4*10°6.2.6十六进制数的表达方法如果不使用特殊的书写形式,16进制数也会和10进制相混。随便一个数:9876,就看不出它是16进制或10进制。至此,我们学完了所有进制:10进制,8进制,16进制数的表达方式。6.3十进制数转换到二、八、十六进制数6.3.110进制数转换为2进制数给你一个十进制,比如:6,如果将它转换成二进制数呢?10进制数转换成二进制数,这是一个连续除2的过程:把要转换的数,除以2,得到商和余数,将商继续除以2,直到商为Oo最后将所有余数倒序排列,得到数就是转换结果。“把要转换的数,除以2,得到商和余数”。那么:要转换的数是6,6-2,得到商是3,余数是Oo (不要告诉我你不会计算6+3!)“将商继续除以2,直到商为0……”现在商是3,还不是0,所以继续除以2。那就:3+2,得到商是1,余数是1。“将商继续除以2,直到商为0……”现在商是1,还不是0,所以继续除以2。那就:1+2,得到商是0,余数是1(拿笔纸算一下,1・2是不是商0余1!)“将商继续除以2,直到商为0……最后将所有余数倒序排列”好极!现在商已经是0。我们三次计算依次得到余数分别是:0、1、1,将所有余数倒序排列,那就是:110了!6转换成二进制,结果是110。把上面的一段改成用表格来表示,则为:被除数计算过程商余数66/23033/21111/201(在计算机中,+用/来表示)如果是在考试时,我们要画这样表还是有点费时间,所更常见的换算过程是使用下图的连除:

步骤演化:216 03①6+2,步骤演化:216 03①6+2,商2余02|6 02仁11②3+2,商1余12|3 12U_1\ 0A除数\[数商/被除数(图:1)请大家对照图,表,及文字说明,并且自已拿笔计算一遍如何将6转换为二进制数。说了半天,我们的转换结果对吗?二进制数110是6吗?你已经学会如何将二进制数转换成10进制数了,所以请现在就计算一下110换成10进制是否就是6o6.3.210进制数转换为8、16进制数非常开心,10进制数转换成8进制的方法,和转换为2进制的方法类似,惟一变化:除数由2变成8。来看一个例子,如何将十进制数120转换成八进制数。用表格表示:被除数计算过程商余数120120/81501515/81711/801120转换为8进制,结果为:170。非常非常开心,10进制数转换成16进制的方法,和转换为2进制的方法类似,惟一变化:除数由2变成16。同样是120,转换成16进制则为:被除数计算过程商余数120120/167877/1607120转换为16进制,结果为:78o请拿笔纸,采用(图:1)的形式,演算上面两个表的过程。6.4二、十六进制数互相转换二进制和十六进制的互相转换比较重要。不过这二者的转换却不用计算,每个C,C++程序员都能做到看见二进制数,直接就能转换为十六进制数,反之亦然。我们也一样,只要学完这一小节,就能做到。首先我们来看一个二进制数:1111,它是多少呢?你可能还要这样计算:1*2°+1*2〔+1*2?+1*23=1*1+1*2+1*4+1*8=15o然而,由于1111才4位,所以我们必须直接记住它每一位的权值,并且是从高位往低位记,:8、4、2、1。即,最高位的权值为2,=8,然后依次是2?=4,3=2,2°=1o记住8421,对于任意一个4位的二进制数,我们都可以很快算出它对应的10进制值。列出四位二进制数xxxx所有可能的值(中间略过部分)仅4位的2进制数快速计算方法 十进制值十六进值TOC\o"1-5"\h\z1111 =8+4+2+1=15 F1110 =8+4+2+0=14 E1101 =8+4+0+1=13 D1100 =8+4+0+0=12 C1011 =8+4+0+1=11 B1010 =8+0 + 2+ 0=10 A1001 =8+0 + 0+ 1 =10 9■■■•0001 =0+0 + 0+ 1 =1 10000 =0+0 + 0+ 0 =0 0二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。

如(上行为二制数,下面为对应的十六进制):1001101111111101,10100101,10011011FBDA59反过来,当我们看到FD时,如何迅速将它转换为二进制数呢?先转换F:看到F,我们需知道它是15(可能你还不熟悉A〜F这五个数),然后15如何用8421凑呢?应该是8+4+2+1,所以8+4+2+1,所以位全为1:"11。接着转换D:看到D,知道它是13,13如何用8421凑呢?应该是:8+2+1,2U:1011o所以,FD转换为二进制数,为:11111011由于十六进制转换成二进制相当直接,所以,我们需要将一个十进制数转换成2进制数时,也可以先转换成16进制,然后再转换成2进制。比如,十进制数1234转换成二制数,如果要一直除以2,直接得到2进制数,需要计算较多次数。所以我们可以先除以16,得到16进制数:被除数计算过程商余数12341234/167727777/16413(D)44/1604结果16进制为:0x4D2然后我们可直接写出0x4D2的二进制形式:010010110010o其中对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论