黑马程序员技术交流社区

标题: 视频中,老师二进制转换归集 [打印本页]

作者: qq272936993    时间: 2014-11-13 21:27
标题: 视频中,老师二进制转换归集
  1. public class HexConversion {

  2.         /**
  3.          * 十进制 ---> 二进制
  4.          * @return
  5.          * */
  6.         public static List<Character> toBin(int num){
  7.                 return trans(num, 1, 1);
  8.         }
  9.        
  10.         /**
  11.          * 十进制 ---> 八进制
  12.          * */
  13.         public static List<Character> toBa(int num){
  14.                 return trans(num, 7, 3);
  15.         }
  16.        
  17.         /**
  18.          * 十进制--->十六进制
  19.          * */
  20.         public static List<Character> toHex(int num){
  21.                 return trans(num , 15 , 4);
  22.         }
  23.        
  24.        
  25.         public static List<Character> trans(int num , int base , int offset){
  26.                 if(num == 0){
  27.                         System.out.println(num);
  28.                         return null;
  29.                 }
  30.                 char[] chs = {'0' , '1' , '2' ,'3', '4', '5', '6','7',
  31.                                 '8','9','A','B','C','D','E','F'};
  32.                
  33.                 char[] arr = new char[32];
  34.                 int pos = arr.length;
  35.                 while(num != 0){
  36.                         int temp = num & base;
  37.                         arr[--pos] = chs[temp];
  38.                         num = num >>> offset;
  39.                 }
  40.                
  41.                 List<Character> list = new ArrayList<Character>();
  42.                 for(int x=pos; x < arr.length; x++){
  43.                         //System.out.print(arr[x]);
  44.                         list.add(arr[x]);
  45.                 }
  46.                 return list;
  47.         }
  48.        
  49.         public static void main(String[] args) {
  50.                 List<Character> list = toBin(22);
  51.                
  52.                 for(Character chr : list){
  53.                         System.out.print(chr);
  54.                 }
  55.         }
  56.        
  57. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2