进制转换

 电脑上的常用进制有:2、8、10、16四种,在修改中经常接触的是2、10和16进制,基本上需要了解的是2和16互转、10和16互转
    10转16:
    10转16用传统的计算方式可以了,就是大于15小于256的10进制数除以16为的值为十位的16进制数,其余数为个位的16进制数,没余数则个位为0。如61的16进制是3D,61除以16得3余13,3作十位数,13转成D为各位数。
    16转10:
    用相反的道理,将十位数乘以16加上个位数。如5A,将5乘以16得80,加上A的10进制10,结果是90。
    个人推荐使用:WINDOWS中点击“开始”--”程序“--“附件”--“计算器”,按 “查看”再选“科学型”,就可以方便的进行各进制的转换了
    进制越大,数的表达长度也就越短。不过,为什么偏偏是16或8进制,而不其它的,诸如9或20进制呢?
    2、8、16,分别是2的1次方,3次方,4次方。这一点使得三种进制之间可以非常直接地互相转换。8进制或16进制缩短了二进制数,但保持了二进制数的表达特点。 
    6.1二、八、十六进制数转换到十进制数
    6.1.1 二进制数转换为十进制数
    二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……
    所以,设有一个二进制数:0110 0100,转换为10进制为:
    计算为:
0 * 20 + 0 * 21 + 1 * 22 + 1 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100
    6.1.2 八进制数转换为十进制数
    八进制就是逢8进1。
    八进制数采用 0~7这八数来表达一个数。
    八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方……
    所以,设有一个八进制数:1507,转换为十进制为:
    计算:
7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839 
    结果是,八进制数 1507 转换成十进制数为 839  
    6.1.3 十六进制数转换成十进制数
    2进制,用两个阿拉伯数字:0、1;
    8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;
    10进制,用十个阿拉伯数字:0到9;
    16进制,用十六个阿拉伯数字……等等,阿拉伯人或说是印度人,只发明了10个数字啊? 
    16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用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进制呢? 
    计算就是:
5 * 160  + F * 161 + A * 162 + 2 * 163 = 10997
    (别忘了,在上面的计算中,A表示10,而F表示15) 
    现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。
    假设有人问你,十进数 1234 为什么是一千二百三十四?你尽可以给他这么一个算式:
1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100
    6.2 十进制数转换到二、八、十六进制数
    6.2.1 10进制数转换为2进制数 
    给你一个十进制,比如:6,如果将它转换成二进制数呢?

    6转换成二进制,结果是110。 
    被除数 计算过程 商 余数
    6 6/2 3 0
    3 3/2 1 1
    1 1/2 0 1
  
    6.2.2 10进制数转换为8、16进制数

    被除数 计算过程 商 余数
    120 120/8 15 0
    15 15/8 1 7
    1 1/8 0 1

    结果为:170。 
    同样是120,转换成16进制则为:
    被除数 计算过程 商 余数
    120 120/16 7 8
    7 7/16 0 7

    结果为:78。 
    6.3二、十六进制数互相转换 

仅4位的2进制数  快速计算方法   十进制值     十六进值
1111        = 8 + 4 + 2 + 1  = 15          F
1110        = 8 + 4 + 2 + 0  = 14          E
1101        = 8 + 4 + 0 + 1  = 13          D         
1100        = 8 + 4 + 0 + 0  = 12          C         
1011        = 8 + 4 + 0 + 1  = 11          B         
1010        = 8 + 0 + 2 + 0  = 10          A
1001        = 8 + 0 + 0 + 1  = 10          9
....
0001        = 0 + 0 + 0 + 1  = 1           1
0000        = 0 + 0 + 0 + 0  = 0           0
 

 

1)我们学会了如何将二、八、十六进制数转换为十进制数。

三种转换方法是一样的,都是使用乘法。

 

2)我们学会了如何将十进制数转换为二、八、十六进制数。

方法也都一样,采用除法。

 

3)我们学会了如何快速的地互换二进制数和十六进制数。

要诀就在于对二进制数按四位一组地转换成十六进制数。

在学习十六进制数后,我们会在很多地方采用十六进制数来替代二进制数。

 

有个疑问如果有小数位该如何转换呢?

八进制数372.01,根据各位的权不同可以写成:

(372.01)8=3×8^2+7×8^1+2×8^0+0×8^-1+1×8^-2

将上式中各位与其权相乘而后加到一起,就可以得到八进制数

372.01的 十进制数为:(372.01)8=(250.015625)10

这也表明了八进制数转换为十进制数的过程。
 
十进制数转换为八进制数的方法是:对于十进制整数采用“除8取余”

的方法转换为八进制整数;对于十进制小数则采用“乘8取整”的方法

转换为八进制小数。例如,将十进制数194.46875转换成八进制数时,

应将整数部分和小数部分分别转换,最后再合到一起就得到要转换的八

进制数:
 
 194÷8=24 余数为 2   0.46875×8=3.75 整数部分 3

 24÷8=3      0   0.75×8=6.0        6

 3÷8=0      3

 所以,(194.46875)10=(302.36)8
 
  

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值