码迷,mamicode.com
首页 > 其他好文 > 详细

进制转换

时间:2015-06-30 23:29:40      阅读:443      评论:0      收藏:0      [点我收藏+]

标签:

我们日常使用的数据都是十进制数,但是由于二进制方便表示和计算,稳定且不易受干扰,并且0和1正好可以表示计算机逻辑运算中的真和假两种状态。

各进制都有各自的基数:

    二进制(2个):0,1

    八进制(8个):0,1,2,3,4,5,6,7

    十进制(10个):0,1,2,3,4,5,6,7,8,9

    十六进制(16个):0—9,A(10),B(11),C(12),D(13),E(14),F(15)

     进制之间的转换:

1、十进制转二进制:除二取余,余数反过来写

    例如:134转换成二进制是10000110技术分享

2、十进制转换成八进制:与十转二一样,除八取余,余数反过来写

    例如:134转换成八进制是206技术分享

3、十进制转成十六进制:除十六取余,余数反过来写

     例如:223转成十六进制是DF   技术分享

4、二进制转成十进制:二进制数从右到左数是a,b,c....m

    公式为a*20+b*21+c*22+d*23+......m*2(n-1)

    例如:11001000=0*20+0*21+0*22+1*23+0*24+0*25+1*26+1*27=8+64+128=200

5、二进制转八进制:把二进制数从右向左每三位作为一组,分别换算成八进制数,不够的在左边补0

    例如:11001000

    分组:  011 =1*20+1*21+0*22 =3

                001 =1*2 +0*21+0*22=1

                000 =0*20+0*21+0*22=0

    所以,11001000转成八进制就是310

6、二进制转十六进制:把二进制数从右向左每4位作为一组,分别换算成十六进制数,不够的在左边补0

    例如:110010000

    分组: 0001 =1*20+0*21+0*22+0*23=  1

         1001 =1*20+0*21+0*22+1*23=   9

         0000 =0*20+0*21+0*22+0*23=  0

     所以,110010000转成十六进制就是190

7、八进制转二进制:把八进制每位数从左向右分别换算成二进制数,余数不够的在左边补0

    例如:1735

        技术分享=001  技术分享=111   技术分享=011   技术分享=101

    将四组数连起来,1735换成二进制数就是1111011101

8、十六进制转二进制:把十六进制每位数从右向左分别换算成二进制数,余数不够的在左边补0

    例如:BD

         B=技术分享=1011          D=技术分享=1111

    BD转成二进制就是10111111

9、八进制转十进制:八进制数从左向右依次是a,b,c......m

    公式为:a*80+b*81+c*82+......m*8(n-1)

    例如:345=5*80+4*81+3*82=229

10、十六进制转十进制:与八进制转十进制相同

    公式为:a*160+b*161+c*162+...m*16(n-1)

    例如:ABC=12*160+11*161+10*162=2748

 

进制转换

标签:

原文地址:http://www.cnblogs.com/SJP666/p/4610016.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!