十进制转换为二进制数、八进制数和十六进制

来源:互联网 发布:dota2淘宝怎么买饰品 编辑:程序博客网 时间:2024/04/25 19:06

        一、十进制转换为二进制数

                public void test(int number) {

                            if (number==0) {
                                 System.out.println('0');
                                 return;
                            }
                           char [] ch=new char[]{'0','1'};
                           StringBuffer sb=new StringBuffer();
                           for (int i = 0; i <32; i++){
                                int temp=number&1;
                                sb.append(ch[temp]);
                                number=number>>>1;
                                if (number==0) {

                                       break;
                                }
                          }
                         System.out.println(sb.reverse());
                }

        二、十进制转换为八进制数

                public void test(int number){

                         if (number==0)  {
                                 System.out.println('0');
                                 return;
                          }
                         char [] ch=new char[]{'0','1','2','3','4','5','6','7'};
                         StringBuffer sb=new StringBuffer();
                         for (;number!=0;) {
                                 int temp=number&7;
                                 sb.append(ch[temp]);
                                 number=number>>>3;
                         }
                        System.out.println(sb.reverse());
                  }

         三、十进制转换为十六进制

                 public void test(int number) {

                        if (number==0){
                                System.out.println('0');
                                return;
                        }
                        char [] ch=new char[]{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
                        StringBuffer sb=new StringBuffer();
                        for (int i = 0; i < 8; i++) {
                               int temp=number&15;
                               sb.append(ch[temp]);
                               number=number>>>4;
                               if (number==0){

                                      break;
                               }
                       }
                       System.out.println(sb.reverse());
                  }