A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© PDH 中级黑马   /  2015-9-16 13:00  /  246 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 PDH 于 2015-9-16 13:02 编辑

public class JinzhiSwap {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                System.out.println(toBin(6));
                System.out.println(toHex(60));
        }
//        查表法
//        十进制>>二进制
        public static String toBin(int num){
                return trans(num,1,1);
        }
//        十进制>>十六进制
        public static String toHex(int num){
                return trans(num,15,4);
        }
//        十进制>>八进制
        public static String toOct(int num){
                return trans(num,7,3);
        }
        private static String trans(int num,int base,int offset){
                if(num==0)
                        return "0";
                char[] chs={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};   //底表
                char[] arr=new char[32];  //存放进制转换结果
                int pos=arr.length;  //定义指针
                int temp;  //临时存储
               
                while(num!=0){
                        temp=num & base;
                        arr[--pos]=chs[temp];
                        num=num >>> offset;                       
                }       
                return String.valueOf(arr,pos,arr.length-pos);
        }

}



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马