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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我只是一只菜鸟 中级黑马   /  2014-12-15 14:19  /  984 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class ArrayChangeSystem2{
  2. /*
  3. 转化函数:
  4. */
  5. public static void trans(int num,int base,int offset)
  6. {
  7. char[] check={'0','1','2','3','4','5','6','7','8','9',
  8. 'A','B','C','D','E','F'};
  9. char[] arr=new char[32];
  10. int count=arr.length;//存放角标
  11. if(num==0)
  12. arr[count-1]=check[0];
  13. while(num!=0)
  14. {
  15. int temp=num & base;
  16. arr[--count]=check[temp];
  17. num=num >>> offset;
  18. }
  19. Swap(count,arr);
  20. }
  21. /*
  22. Swap()函数打印数组
  23. */
  24. public static void Swap(int count,char[] arr)
  25. {
  26. for(int i=count;i<arr.length;i++)
  27. {
  28. System.out.print(arr[i]);//只有i与上面对应,才可以打印出所有数
  29. }
  30. System.out.println();
  31. }
  32. /*
  33. 十进制转化为八进制
  34. */
  35. public static void toOctal(int num)
  36. {
  37. trans(num,7,3);
  38. }
  39. /*
  40. 十进制转化为二进制
  41. */
  42. public static void toBin2(int num)
  43. {
  44. trans(num,1,1);
  45. }
  46. /*
  47. 十六进制转化为二进制
  48. */
  49. public static void toHex2(int num)
  50. {
  51. trans(num,15,4);

  52. }
  53. public static void main(String[] args)
  54. {
  55. toBin2(4);
  56. toHex2(32);
  57. toOctal(60);
  58. }
  59. }
复制代码
适用于所有进制转化,适用于负数

3 个回复

正序浏览
学习了,赞一个。
回复 使用道具 举报
dengchao 发表于 2014-12-15 14:32
视频老师讲过好像

我觉得比较有用
回复 使用道具 举报
视频老师讲过好像
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马