进制与算法篇

1、10进制转2进制:                                            2进制转10进制

开二取余                                                           例:  1000010100 

例:532开2=266~0                           0*2^0(个位)+0*2^1(十位)+1*2^2(百位)+0*2^3(千位)+1*2^4+0*2^5+0*2^6+0*2^7+0*2^8+1*2^9

     266开2=133~0                                       =0+0+4+0+16+0+0+0+512             

     133开2=66~1                                         =532

       66开2=33~0

       33开2=16~1

       16开2=8~0

         8开2=4~0

         4开2=2~0

         2开2=1~0

         1不能开了

最后取结果为  1000010100

2、10进制转8进制                                                  8进制转10进制

与转2进制类似,开8取余                                            例:1024

例:532开8=66~4                                                   4*8^0+2*8^1+0*8^2+1*8^3

       66开8=8~2                                                       =4+16+0+512

        8开8=1~0                                                        =532

          1不能开了

最后结果为   1024

3、10进制转16进制                                                      16进制转10进制

同上开16取余                                                                   例:214

注意10=A  11=B  12=C  13=D  14=E  15=F                   4*16^0+1*16^1+2*16^2

例:532开16=33~4                                                           =4+16+512

       33开16=2~1                                                             =532

         2不能开了

最后结果为214

4、2进制转8进制                                                                                                 2进制转16进制

 例:1000010100                                                                                                   例:1000010100

由于8是2的3次方,所以没3位数看做8进制中的一位数                                                      由于16是2的3次方,所以没4位数看做16进制中的一位数             

因此例题中的数值可以看做                                                                                           因此例题中的数值可以看做               

1  000  010  100                                                                                                    10  0001  0100

每三个数值划分成8进制,                                                                                          每三个数值划分成8进制,三位数中的个位换算成1,

三位数中的个位换算成1,                                                                                           十位换算成2,百位换算成4,千位换算成8

十位换算成2,                                                                                                            因此例题中的数值   214

百位换算成4      

因此例题中的数值  1024

原文地址:https://www.cnblogs.com/jingfengling/p/5778545.html