04 基本元素 进制转换

进制转换:

4种进制:10 2 8 16

根据排列组合的知识有6种转换都要熟练

 

格式:

8进制 0开头

16进制 0x开头

 

进制的基本原理:

每个位置上的数字代表的数目为 数字的(位置数-1)的次方

比如60的十进制

6(数字)*10(进制数)的2(位置数)-1次方+0(数字)*10的1(位置数)-1次方

 

原理:

2与10:

进制的基本原理的逆运算:

比如60的十进制

除以10 商就相当于获取了第一个10位余数就是第1个个位

 

同理 666除以10  就相当于移了一位 余数还是第一位个位

再除以10 就相当于又右移了一位余数拿到10位

这时候就找到了规律:余数的出现和每一位数字书写的顺序相反

最后取完所有余数倒着写出来即可

 

代码:

使用原理暴力破解

         publicstatic void toBinary(int a)

         {

                   StringBuffersb = new StringBuffer();

 

                   while(a!=0)

                   {

                            sb.append(a%2);

                            a= a/2;

                   }

 

                   sop(sb.reverse());

         }

 

2与8和16

8是2的三次方 16是四次方

按照进制基本原理变为2进制后3位3位取 就是8进制 

4位4位取 就是16进制

 

10与8和16

两种方法 1:用2进制过渡

2 用进制基本原理 除以8或者16取余数 然后倒着写上来

         publicstatic void toHex(int a)

         {

                   StringBuffersb = new StringBuffer();

 

                   intc;

 

                   while(a!=0)

                   {

                            c= a%16;

                            if(c<10)

                                     sb.append(c);

                            else

                            {

                                     switch(c)

                                     {

                                               case(10):

                                                        sb.append("A");

                                               case(11):

                                                        sb.append("B");

                                               case(12):

                                                        sb.append("C");

                                               case(13):

                                                        sb.append("D");

                                              case(14):

                                                        sb.append("E");

                                               default:

                                                        sb.append("F");

                                     }

                            }

                            a= a/16;

                   }

 

                   sop(sb.reverse());

         }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值