进制转换

我们日常使用的数据都是十进制数,但是由于二进制方便表示和计算,稳定且不易受干扰,并且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

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