二、八、十、十六进制之间相互转换

上传人:三*** 文档编号:182077064 上传时间:2023-01-20 格式:DOC 页数:10 大小:40.50KB
收藏 版权申诉 举报 下载
二、八、十、十六进制之间相互转换_第1页
第1页 / 共10页
二、八、十、十六进制之间相互转换_第2页
第2页 / 共10页
二、八、十、十六进制之间相互转换_第3页
第3页 / 共10页
资源描述:

《二、八、十、十六进制之间相互转换》由会员分享,可在线阅读,更多相关《二、八、十、十六进制之间相互转换(10页珍藏版)》请在装配图网上搜索。

1、1. 十 - 二给你一个十进制,比方:6,假如将它转换成二进制数呢? 10进制数转换成二进制数,这是一个连续除2的过程: 把要转换的数,除以2,得到商和余数, 将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。 听起来有些糊涂?我们结合例子来说明。比方要转换6为二进制数。 “把要转换的数,除以2,得到商和余数”。 那么: 十转二示意图要转换的数是6, 6 2,得到商是3,余数是0。 “将商继续除以2,直到商为0” 现在商是3,还不是0,所以继续除以2。 那就: 3 2, 得到商是1,余数是1。 “将商继续除以2,直到商为0” 现在商是1,还不是0,所以继续除以2。 那就:

2、 1 2, 得到商是0,余数是1 “将商继续除以2,直到商为0最后将所有余数倒序排列” 好极!现在商已经是0。 我们三次计算依次得到余数分别是:0、1、1,将所有余数倒序排列,那就是:110了! 6转换成二进制,结果是110。 把上面的一段改成用表格来表示,则为: 被除数 计算过程 商 余数 6 6/2 3 0 3 3/2 1 1 1 1/2 0 1 (在计算机中,用 / 来表示) 2. 二 - 十二进制数转换为十进制数 二进制数第0位的权值是2的0次方,第1位的权值是2的1次方 所以,设有一个二进制数:0110 0100,转换为10进制为: 下面是竖式: 0110 0100 换算成 十进制

3、为次方 第1位 0 * 20 = 0 第2位 0 * 21 = 0 第3位 1 * 22 = 4 第4位 0 * 23 = 0 第5位 0 * 24 = 0 第6位 1 * 25 = 32 第7位 1 * 26 = 64 第8位 0 * 27 = 0 + 公式:第N位2(N-1) - 100 用横式计算为: 0 * 2 0 + 0 * 2 1 + 1 * 2 2 + 0 * 2 3 + 0 * 2 4 + 1 * 2 5 + 1 * 2 6 + 0 * 2 7 = 100 0乘以多少都是0,所以我们也能够直接跳过值为0的位: 1 * 2 2 + 1 * 2 5 + 1 * 2 6 = 100

4、3. 十 - 八10进制数转换成8进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成8。 来看一个例子,如何将十进制数120转换成八进制数。 用表格表示: 被除数 计算过程 商 余数 120 120/8 15 0 15 15/8 1 7 1 1/8 0 1 120转换为8进制,结果为:170。 4. 八 - 十八进制就是逢8进1。 八进制数采用 07这八数来表达一个数。 八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方 所以,设有一个八进制数:1507,转换为十进制为: 用竖式表示: 1507换算成十进制。 第0位 7 * 80 = 7 第1位 0 *

5、 81 = 0 第2位 5 * 82 = 320 第3位 1 * 83 = 512 - 839 同样,我们也能够用横式直接计算: 7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839 结果是,八进制数 1507 转换成十进制数为 839 5. 十 - 十六10进制数转换成16进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成16。 同样是120,转换成16进制则为: 被除数 计算过程 商 余数 120 120/16 7 8 7 7/16 0 7 120转换为16进制,结果为:78。 6. 十六- 十16进制就是逢16进1,但我们只有09这十个数字,所以我们用

6、A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15。字母不区分大小写。 十六进制数的第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进制: 第0位: 5 * 160 = 5 第1位: F * 161 = 240 第2位: A * 162 = 2560 第3位: 2 * 163 = 8192 + - 10997

7、直接计算就是: 5 * 160 + F * 161 + A * 162 + 2 * 163 = 10997 (别忘了,在上面的计算中,A表示10,而F表示15) 现在能够看出,所有进制换算成10进制,关键在于各自的权值不同。 假设有人问你,十进数 1234 为什么是 一千二百三十四?你尽能够给他这么一个算式: 1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100 7. 二 - 八(11001.101)(二) 整数局部: 从后往前每三位一组,缺位处用0填补,然后按十进制方法实行转化, 则有: 001=1 011=3 然后我们将结果按从下往上的顺序书写就是:31

8、,那么这个31就是二进制11001的八进制形式 小数局部: 从前往后每三位一组,缺位处用0填补,然后按十进制方法实行转化, 则有: 101=5 然后我们将结果局部按从上往下的顺序书写就是:5,那么这个5就是二进制0.101的八进制形式 所以:(11001.101)(二)=(31.5)(八) 8. 八 - 二(31.5)(八) 整数局部:从后往前每一位按十进制转化方式转化为三位二进制数,缺位处用0补充 则有: 1-1-001 3-11 然后我们将结果按从下往上的顺序书写就是:11001,那么这个11001就是八进制31的二进制形式 说明,关于十进制的转化方式我这里就不再说了,上一篇文章我已经讲解

9、了! 小数局部:从前往后每一位按十进制转化方式转化为三位二进制数,缺位处用0补充 则有: 5-101 然后我们将结果按从下往上的顺序书写就是:101,那么这个101就是八进制5的二进制形式 所以:(31.5)(八)=(11001.101)(二) 9. 十六 - 二 ;二 - 十六二进制和十六进制的互相转换比较重要。不过这二者的转换却不用计算,每个C,C+程序员都能做到看见二进制数,直接就能转换为十六进制数,反之亦然。 我们也一样,只要学完这个小节,就能做到。 首先我们来看一个二进制数:1111,它是多少呢? 你可能还要这样计算:1 * 20 + 1 * 21 + 1 * 22 + 1 * 23

10、 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15。 不过,因为1111才4位,所以我们必须直接记住它每一位的权值,并且是从高位往低位记,:8、4、2、1。即,最高位的权值为23 = 8,然后依次是 22 = 4,21=2, 20 = 1。 记住8421,对于任意一个4位的二进制数,我们都能够很快算出它对应的10进制值。 下面列出四位二进制数xxxx 所有可能的值(中间略过局部) 仅4位的2进制数 快速计算方法 十进制值 十六进值 1111 = 8 + 4 + 2 + 1 = 15 F 1110 = 8 + 4 + 2 + 0 = 14 E 1101 = 8 + 4 +

11、 0 + 1 = 13 D 1100 = 8 + 4 + 0 + 0 = 12 C 1011 = 8 + 0 + 2+ 1 = 11 B 1010 = 8 + 0 + 2 + 0 = 10 A 1001 = 8 + 0 + 0 + 1 = 9 9 . 0001 = 0 + 0 + 0 + 1 = 1 1 0000 = 0 + 0 + 0 + 0 = 0 0 二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。 如(上行为二制数,下面为对应的十六进制): 1111 1101 , 1010 0101 , 1001 1011 F D , A 5 , 9 B 反过来,当我们看到 FD时,如何

12、迅速将它转换为二进制数呢? 先转换F: 看到F,我们需知道它是15(可能你还不熟悉AF这五个数),然后15如何用8421凑呢?应该是8 + 4 + 2 + 1,所以四位全为1 :1111。 接着转换 D: 看到D,知道它是13,13如何用8421凑呢?应该是:8 + 4 + 1,即:1101。 所以,FD转换为二进制数,为: 1111 1101 因为十六进制转换成二进制相当直接,所以,我们需要将一个十进制数转换成2进制数时,也能够先转换成16进制,然后再转换成2进制。 比方,十进制数 1234转换成二制数,假如要一直除以2,直接得到2进制数,需要计算较多次数。所以我们能够先除以16,得到16进

13、制数: 被除数 计算过程 商 余数 1234 1234/16 77 2 77 77/16 4 13 (D) 4 4/16 0 4 结果16进制为: 0x4D2 然后我们可直接写出0x4D2的二进制形式: 0100 1101 0010。 其中对映关系为: 0100 - 4 1101 - D 0010 - 2 同样,假如一个二进制数很长,我们需要将它转换成10进制数时,除了前面学过的方法是,我们还能够先将这个二进制转换成16进制,然后再转换为10进制。 下面举例一个int类型的二进制数: 01101101 11100101 10101111 00011011 我们按四位一组转换为16进制: 6D

14、E5 AF 1B 再转换为10进制:6*167+D*166+E*165+5*164+A*163+F*162+1*161+B*160=1,843,769,115二进制、八进制、十进制、十六进制之间转换一、 十进制与二进制之间的转换(1) 十进制转换为二进制,分为整数局部和小数局部 整数局部方法:除2取余法,即每次将整数局部除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。下面举例:例:将十进制的168转换为二进制得出结果 将十进制的168转换为二进制,(10101000)2分析:第

15、一步,将168除以2,商84,余数为0。第二步,将商84除以2,商42余数为0。第三步,将商42除以2,商21余数为0。第四步,将商21除以2,商10余数为1。第五步,将商10除以2,商5余数为0。第六步,将商5除以2,商2余数为1。第七步,将商2除以2,商1余数为0。第八步,将商1除以2,商0余数为1。第九步,读数,因为最后一位是经过多次除以2才得到的,所以它是最高位,读数字从最后的余数向前读,即10101000(2) 小数局部方法:乘2取整法,即将小数局部乘以2,然后取整数局部,剩下的小数局部继续乘以2,然后取整数局部,剩下的小数局部又乘以2,一直取到小数局部为零为止。假如永远不能为零,就

16、同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,假如是零,舍掉,假如是1,向入一位。换句话说就是0舍1入。读数要从前面的整数读到后面的整数,下面举例:例1:将0.125换算为二进制得出结果:将0.125换算为二进制(0.001)2分析:第一步,将0.125乘以2,得0.25,则整数局部为0,小数局部为0.25;第二步, 将小数局部0.25乘以2,得0.5,则整数局部为0,小数局部为0.5;第三步, 将小数局部0.5乘以2,得1.0,则整数局部为1,小数局部为0.0;第四步,读数,从第一位读起,读到最后一位,即为0.001。例2,将0.45转换为二进制(保留到

17、小数点第四位)大家从上面步骤能够看出,当第五次做乘法时候,得到的结果是0.4,那么小数局部继续乘以2,得0.8,0.8又乘以2的,到1.6这样一直乘下去,最后不可能得到小数局部为零,所以,这个时候只好学习十进制的方法实行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。这个也是计算机在转换中会产生误差,但是因为保留位数很多,精度很高,所以能够忽略不计。那么,我们能够得出结果将0.45转换为二进制约等于0.0111上面介绍的方法是十进制转换为为二进制的方法,需要大家注意的是:1) 十进制转换为二进制,需要分成整数和小数两个局部分别转换2) 当转换整数时,用的除2取余法,而转换小数时候,用

18、的是乘2取整法3) 注意他们的读数方向所以,我们从上面的方法,我们能够得出十进制数168.125转换为二进制为10101000.001,或者十进制数转换为二进制数约等于10101000.0111。(3) 二进制转换为十进制 不分整数和小数局部方法:按权相加法,即将二进制每位上的数乘以权,然后相加之和即是十进制数。例将二进制数101.101转换为十进制数。得出结果:(101.101)2=(5.625)10大家在做二进制转换成十进制需要注意的是1) 要知道二进制每位的权值2) 要能求出每位的值二、 二进制与八进制之间的转换首先,我们需要理解一个数学关系,即23=8,24=16,而八进制和十六进制是

19、用这关系衍生而来的,即用三位二进制表示一位八进制,用四位二进制表示一位十六进制数。接着,记住4个数字8、4、2、1(23=8、22=4、21=2、20=1)。现在我们来练习二进制与八进制之间的转换。(1) 二进制转换为八进制方法:取三合一法,即从二进制的小数点为分界点,向左(向右)每三位取成一位,接着将这三位二进制按权相加,得到的数就是一位八位二进制数,然后,按顺序实行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。假如向左(向右)取三位后,取到最高(最低)位时候,假如无法凑足三位,能够在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足三位。例将二进制数101110.101

20、转换为八进制得到结果:将101110.101转换为八进制为56.5 将二进制数1101.1转换为八进制得到结果:将1101.1转换为八进制为15.4(2) 将八进制转换为二进制方法:取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数,小数点位置照旧。例: 将八进制数67.54转换为二进制所以,将八进制数67.54转换为二进制数为110111.101100,即110111.1011大家从上面这道题能够看出,计算八进制转换为二进制首先,将八进制按照从左到右,每位展开为三位,小数点位置不变然后,按每位展开为22,21,20(即4、2、1)三位去做凑数,即a22+ b

21、21 +c20=该位上的数(a=1或者a=0,b=1或者b=0,c=1或者c=0),将abc排列就是该位的二进制数接着,将每位上转换成二进制数按顺序排列最后,就得到了八进制转换成二进制的数字。以上的方法就是二进制与八进制的互换,大家在做题的时候需要注意的是1) 他们之间的互换是以一位与三位转换,这个有别于二进制与十进制转换2) 大家在做添0和去0的时候要注意,是在小数点最左边或者小数点的最右边(即整数的最高位和小数的最低位)才能添0或者去0,否则将产生错误三、 二进制与十六进制的转换方法:与二进制与八进制转换相似,只不过是一位(十六)与四位(二进制)的转换,下面具体讲解(1) 二进制转换为十六

22、进制方法:取四合一法,即从二进制的小数点为分界点,向左(向右)每四位取成一位,接着将这四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序实行排列,小数点的位置不变,得到的数字就是我们所求的十六进制数。假如向左(向右)取四位后,取到最高(最低)位时候,假如无法凑足四位,能够在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足四位。例:将二进制11101001.1011转换为十六进制得到结果:将二进制11101001.1011转换为十六进制为E9.B 例:将101011.101转换为十六进制所以得到结果:将二进制101011.101转换为十六进制为2B.A(2)将十六进制转换

23、为二进制方法:取一分四法,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧。将十六进制6E.2转换为二进制数所以得到结果:将十六进制6E.2转换为二进制为01101110.0010即110110.001四、八进制与十六进制的转换方法:一般不能互相直接转换,一般是将八进制(或十六进制)转换为二进制,然后再将二进制转换为十六进制(或八进制),小数点位置不变。那么相对应的转换请参照上面二进制与八进制的转换和二进制与十六进制的转五、八进制与十进制的转换(1)八进制转换为十进制方法:按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数。例:将八进

24、制数67.35转换为十进制(2)十进制转换为八进制十进制转换成八进制有两种方法:1)间接法:先将十进制转换成二进制,然后将二进制又转换成八进制2)直接法:前面我们讲过,八进制是由二进制衍生而来的,所以我们能够采用与十进制转换为二进制相类似的方法,还是整数局部的转换和小数局部的转换,下面来具体讲解一下:整数局部方法:除8取余法,即每次将整数局部除以8,余数为该位权上的数,而商继续除以8,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数。小数局部方法:乘8取整法,即将小数局部乘以8,然后取整数局部,剩下的小数局部继续乘以8,然后

25、取整数局部,剩下的小数局部又乘以8,一直取到小数局部为零为止。假如永远不能为零,就同十进制数的四舍五入一样,暂取个名字叫3舍4入。例:将十进制数796.703125转换为八进制数解:先将这个数字分为整数局部796和小数局部0.703125整数局部小数局部所以,得到结果十进制796.703125转换八进制为1434.55上面的方法大家能够验证一下,你能够先将十进制转换,然后在转换为八进制,这样看得到的结果是否一样六、十六进制与十进制的转换十六进制与八进制有很多相似之处,大家能够参照上面八进制与十进制的转换自己试试这两个进制之间的转换。通过上面对各种进制之间的转换,我们能够将前面的转换图重新完善一下:本文介绍了二进制、十进制、八进制、十六进制四种进制之间相互的转换,大家在转换的时候要注意转换的方法,以及步骤,特别是十进制转换为期于三种进制之间,要分为整数局部和小数局部,最后就是小数点的位置。但是要保证考试中不出现错误还是需要大家经常练习,这样才能熟能生巧。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!