黑马程序员技术交流社区

标题: 黑马程序员——学习笔记_进制转换2 [打印本页]

作者: 赵耿    时间: 2015-1-29 14:52
标题: 黑马程序员——学习笔记_进制转换2
  1. /*
  2. 学习后,我们知道利用查表法,十进制数无论转成二进制、八进制、还是十六进制数,
  3. 都是非常方便的,并且他们都有相似的代码,因此我们可以将这些代码进行提取,总结,
  4. 写出一个综合的功能:
  5. */
  6. class ArrayTest7
  7. {
  8. public static void main(String[] args)
  9. {
  10. toBa(60);
  11. System.out.println();
  12. toHex(60);
  13. System.out.println();
  14. toBin(60);
  15. }
  16. public static void toBa(int num)
  17. {
  18. trans(num,7,3);
  19. }
  20. public static void toHex(int num)
  21. {
  22. trans(num,15,4);
  23. }
  24. public static void toBin(int num)
  25. {
  26. trans(num,1,1);
  27. }
  28. public static void trans(int num, int base, int offset)
  29. {
  30. if(num==0)
  31. {
  32. System.out.println(0);
  33. return ;
  34. }

  35. char[] chs = {'0','1','2','3',
  36. '4','5','6','7',
  37. '8','9','A','B',
  38. 'C','D','E','F'};
  39. char[] arr = new char[32];
  40. int pos = arr.length;

  41. while(num!=0){
  42. int temp = num & base;
  43. arr[--pos] = chs[temp];
  44. num = num >>> offset;
  45. }
  46. for(int x = pos; x < arr.length; x++)
  47. {
  48. System.out.print(arr[x]);
  49. }
  50. }
  51. }
复制代码






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