数制间的转换

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数制间的转换
十进制数:我们生活中用得最多的数,由0~9组成,逢十进一。

二进制数:计算机能够识别的语言,由0、1组成,例如1010001001就是一个二进制数,逢二进一。

八进制数:由0~7组成,逢八进一。

十六进制:由0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F组成,
为什么要这样做呢?你好比吧(7C2F)16按常规把字母用数字换过来
是7、12、2、15,没错吧?但你写的时候要是写连了,那就变成712215了,这和原来的数字就不一样了,所以就用数字代替了。

这里不理解没关系,说到十六进制的时候我会详细给你讲解的,你只记住这么写的就是了。

一、二进制数转换为十进制数
先来看一个例题:
【例】将二进制数(101000100101)2转化为十进制数;
1.我们把每一位都标上号码,从右往左标,第一位从0开始标。


1×211+0×210+1×29+0×28+0×27+0×26+1×25+0×24+0×23+1×22+0×21+1×20
=2048+512+32+4+1=(2597)10 所以(101000100101)2=(2597)10
从以上计算式可以看出,不用把每一位都写出,只要把是1的每一位的2的次方数写出相加就可以得到对应的十进制数。

就拿上面(101000100101)2举例,各位上是1的有第11位、第9位、第5位、第2位和第0位,上式可简写为
211+29+25+22+20
这样做的好处是简化了转换过程,不容易出错
附:2n表(注:这个不用全部都记,只记得前几个就可以了,后面的依次乘以2就可以,比如你记得22,那么232
那么就可以得出(101110)2=25+23+22+21=32+8+4+2=(46)10
简单吧?做两道练习哦:
【练习】把下列二进制数转化为十进制数:
(1)(00100110)2;(2)(111010)2;(3)(110110)2;(4)(1011001)2;
二、十进制转化为二进制
【例】将十进制数(103)10转换为二进制数。

第一步:采用基数2连续去除该十进制整数,直至商等于“0”为止。

103÷2=51 余数为1
51÷2=25 余数为1
25÷2=12 余数为1
12÷2=6 余数为0
6÷2=3 余数为0
3÷2=1 余数为1
1÷2=0 余数为1(此处按照一般数学知识应为0.5,不是0。

但在进制转
换中,当除得的商为小数时,也就是不能被整除时,
我们就认为商是0,余数是1)
所谓1100111
10
所以(103)10= (1100111)2
再来做一道,加深印象。

【例】将十进制数(521)10转化为二进制数。

先怎么样?拿2除,写余数,对吧?
521÷2=260 余数为1
260÷2=130 余数为0
130÷2=65 余数为0
65÷2=32 余数为1
32÷2=16 余数为0
16÷2=8 余数为0
8÷2=4 余数为0
4÷2=2 余数为0
2÷2=1 余数为0
1÷2=0 余数为1
然后逆序排列对吧?
排上去,就是:(1000001001)2
10
那么(521)10=(1000001001)2
再来个偶数的例题:
【例】把十进制数(414)10转化为二进制数。

414÷2=207 余数为0
207÷2=103 余数为1
103÷2=51 余数为1
51÷2=25 余数为1
25÷2=12 余数为1
12÷2=6 余数为0
6÷2=3 余数为0
3÷2=1 余数为1
1÷2=0 余数为1
然后怎么样?逆序排列所得余数得(110011110)2
10
最后得:(110011110)2=(414)10
嘿嘿,这个稍微有点难度吧?好好看看这个,这个会了,后面的就简单了。

加油哦!
趁热打铁,做几道来习题巩固下吧:
【练习】把下列十进制的数转化为二进制。

(1)(382)10;(2)(171)10;(3)(256)10;(4)(531)10;
三、八进制数的转换
1.八进制向十进制转换:
两种方法:A先将八进制转化为二进制数,再由所得的二进制数转化为相应的十进制数。

B八进制数直接转化为十进制数。

用方法A,那么步骤就有两个:
(1)将八进制转化为二进制数;
(2)由所得的二进制数转化为相应的十进制数。

具体到例题中来看:
【例】将八进制数(5663)8转化为相应的十进制数。

那么我们上面说了,要分两步:
(1)将八进制转化为二进制数;
2
(2)由所得的二进制数转化为相应的十进制数。

还记得二进制转化为十进制怎么做么?我们再来一次噢,看好了先要干什么?要把每一位的号码标出来,标的要求是:从右往左标,第一位从0开始标。

10
最后得(5663)8=(2995)10
再看方法B八进制数直接转化为十进制数。

还是上面那道例题:
【例】将八进制数(5663)8转化为相应的十进制数。

每一位上的数去乘8的几次方相加。

就是5×83+6×82+6×81+3×80=5×512+6×64+6×8+3×1=2560+384+48+3=(2995)10(注:8n就是n个8相乘,例如83=8×8×8=256。

再提醒下:0 1)
这样看来B方法是不是简单一些?为什么要给你说方法A呢?是这样,如果给的八进制数很长,有个7、8位,那计算时就要计算8的7、8次方,那计算量就很大了,计算量一大就容易出错;另外,也可以复习一下二进制数的转换。

所以呢,两个方法按情况分别使用,给的八进制数长,就用方法A;数比较短,就用方法B。

考试一般只会出到4位,所以在这里用到的就有83=256,82=64,81=8,80=1。

这几个常用,最好记下来,考试时可以节约时间.
好了自己动手做一做吧?
【练习】把下列八进制数转换为相应的十进制数:
(1)(5347)8;(2)(4321)8;(3)(1234)8;(4)(1314)8;
2.十进制数向八进制转换:
采用基数8连续去除该十进制整数,直至商等于“0”为止,然后逆序排列所得余数。

(这个过程和十进制转化为二进制有点类似,只是除数变成了8)放到例题中来看
【例】把十进制数(376)10转化为相应的八进制数。

376÷8=47 余数为0
47÷8=5 余数为7
5÷8=0 余数为5(5除以8位小数,我们认为不够除,就等于零,然后
写出余数5)
然后怎么样?逆序排列所得余数。

所得的八进制数就是(570)8
验证下:
(570)8根据前面给出的八进制转化为二进制数表可以得出
10
对的吧?再来一道:
【例】把十进制数(431)10转化为相应的八进制数。

431÷8=53 余数为7
53÷8=6 余数为5
6÷8=0 余数为6
逆序排列所得余数得到八进制数为(657)8;
验证在将来亲爱的自己完成哈
好了,做两道练习巩固下吧?
【练习】把下列十进制数转换为相应的八进制数:
(1)(123)10;(2)(321)10;(3)(521)10;(4)(134)10;
三、十六进制数的转化
十六进制数的转化,从某种意义上说和八进制数的转化完全是一样的。

话不多说,来看具体问题。

1.十六进制数转化为十进制:
还是用两种方法:A先将十六进制转化为二进制数,再由所得的二进制数转化为相应的十进制数。

B十六进制数直接转化为十进制数。

用方法A,那么步骤就有两个:
(1)将十六进制转化为二进制数;
(2)由所得的二进制数转化为相应的十进制数。

【例】将十六进制数(7C2F)16转化为十进制。

首先转化为二进制数:
16 2
(【宝宝寄语】这里为了让亲爱的看的清楚些,我把每一位十六进制数对应的二进制数分别用不同颜色标出来了,这样亲爱的看起来跟清楚些。

(*^__^*) 嘻嘻……还有,一开始表里为什么用字母表示数字的问题,我们在这里说一下:拿(7C2F)16为例,我们把字母换回数字是(7 12 2 15)16,但在书写时,我们很难写出空格或者读出空格,很容易就写成(712215)16
,这样原来的数字完全就变成另外一组数字了。

为了避免这种情况发生,我们就用数字来代替两位的数字。


=(31791)10。

最后得(7C2F)16=(31791)10。

下面来看方法B十六进制数直接转化为十进制数。

标出每一个数的位置,然后拿这个数和16的位置次方数相乘,最后相加得出和:还是上面的例题:
【例】将十六进制数(7C2F)16转化为十进制。

7×163+12×162+2×161+15×160=7×4096+12×256+2×16+15×1=28672+3072+32+15=( (31791)10。

和方法A得出的结果一样。

【宝宝寄语】嘿嘿,我又来了,这里没多少说废话,把16的0~3次方给宝宝总结出来,方便宝宝计算。

163=4096,162=256,161=16,160=1。

最好能记下来,记不下来也没事,考试的时候自己乘一下,几次方就是几个16相乘嘛。

(*^__^*) 嘻嘻……
来做几道练习:
【练习】将下列十六进制数转化为十进制数:
(1)(12A4)16;(2)(2C3B)16;(3)(2DB4)16;(4)(85AA)16。

2.十进制转化为十六进制
这里呢,我们从前面的经验可以得出:十进制转化为十六进制,采用基数16连续去除该十进制整数,直至商等于“0”为止,然后逆序排列所得余数。

来看例题:
【例】把十进制数(2347)10转化为相应的十六进制数。

22347÷16=146 余数为11(十六进制为B)
146÷16=9 余数为2
9÷16=0 余数为9
再逆序排列所得余数,得(92B)16。

再看一道加深印象:
【例】把十进制数(31791)10转化为相应的十六进制数
31791÷16=1986 余数为15(F)
1986÷16=124 余数为2
124÷16=7 余数为12(C)
7÷16=0 余数为7
逆序排列所得余数,得(7C2F)16。

好了最后四道练习:
【练习】把下列十进制数转换为相应的十六进制数:
(1)(3456)10;(2)(6543)10;(3)(5211)10;(4)(2134)10;
最后来看我们2011年考过的那道真题:
28.下列四个不同进制表示的数中,最大的是(A.二进制11011101 )A.二进制11011101
B.十进制219
C.八进制334
D.十六进制DA
首先,这道题四个选项对应这四个不同的进制,要想比较他们的大小,我们要把他们化成同一进制进行比较。

方便起见,我们把它们化成我们最熟悉的十进制数:
B十进制219,所以不用转化;
最后十进制下:
A.221;
B.219;
C.220;
D.218;
自然答案就是A二进制11011101。

相关文档
最新文档