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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class  ArrayTest
{
        public static void main(String[] args)

       toHex(60);
        }
/*
十进制-->16进制
*/
        public static void toHex(int num)
        {       
                for(int x=0;x<8;x++)
                {
                        int temp=num & 15;
                        if (temp>9)
                       
       System.out.println((char)(temp-10+'A'));
           else
                 System.out.println(temp);
           sb.append(temp);
                num=num>>4;
        }
         System.out.println(sb.reverse());

}

3 个回复

倒序浏览
不错不错不错不错不错不错
回复 使用道具 举报
sb.toString();方法,是直接打印
回复 使用道具 举报
public static void trans(int num, int base, int offest) {                                //十进制转其他进制
                if (num == 0) {
                        System.out.println(0);
                }
                char[] chs = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

                //定义一个临时数组用来储存每次与上base的结果
                char[] arr = new char[32];                        //如果base是1, err的长度最大, 为32.

                //定义一个操作数组的指针, 从arr中最后一个角标开始存储
                int pos = arr.length;                                //因为先--, 所以pos 不用 = arr.length-1 .

                //开始循环
                while(num != 0) {

                        //定义一个临时变量来记录每次与上base的结果
                        int temp = num & base;

                        //在chs中查找与temp相对应的字符, temp 最大为15, chs中15号角标正好为F.
                        arr[--pos] = chs[temp];

                        //pos--        //发现最后一次循环后pos还要自减一次, 所以先--
                        num = num >>> offest;
                }
                System.out.print("转换后: ");
                for (int x = pos; x < arr.length; x++) {
                        System.out.print(arr[x]);
                }
                System.out.println();
                System.out.println("----------------------------");
        }

        public static void toBin(int num) {                                //转二进制
                trans(num, 1, 1);
        }
        public static void toOctal(int num) {                        //转八进制
                trans(num,7,3);
        }
        public static void toHex(int num) {                                //转十六进制
                trans(num,15,4);
        }



主函数没写, 你自己随便扔一个进去吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马