Java 进制转化

举报
陈言必行 发表于 2021/08/13 23:59:44 2021/08/13
【摘要】 import java.util.Scanner; public class jinzhishu { /** * 十进制转化八进制 */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc=new Scanner(System.in); //i...

  
  1. import java.util.Scanner;
  2. public class jinzhishu {
  3. /**
  4. * 十进制转化八进制
  5. */
  6. public static void main(String[] args) {
  7. // TODO Auto-generated method stub
  8. Scanner sc=new Scanner(System.in);
  9. //int n=sc.nextInt();
  10. String s=sc.next();
  11. //char a=s.charAt(0);
  12. System.out.println(Integer.parseInt(s+" "));
  13. //f(n);
  14. }
  15. public static void f(int n){
  16. int a[]=new int[100];
  17. int temp,i=0;
  18. while(n>0){
  19. temp=n%2;
  20. a[i++]=temp;
  21. n/=2;
  22. }
  23. for(int j=i-1;j>=0;j--){
  24. System.out.print(a[j]);
  25. }
  26. System.out.println();
  27. int result=0,l=0;
  28. for(int k=0;k<i;k++){
  29. result+=a[k]*(int)Math.pow(2,l++);
  30. //System.out.println(result);
  31. }
  32. System.out.println(result);
  33. }
  34. }



  
  1. import java.util.Scanner;
  2. public class shijinzhi {
  3. /**
  4. * 进制转换 十--->十六
  5. */
  6. public static void main(String[] args) {
  7. // TODO Auto-generated method stub
  8. Scanner sc=new Scanner(System.in);
  9. int n=sc.nextInt();
  10. System.out.println(Integer.toHexString(n).toUpperCase());
  11. //System.out.println(Long.parseLong(n,16));
  12. }
  13. }

  
  1. import java.util.Scanner;
  2. //十六-->十进制
  3. public class jinzhi16_10 {
  4. public static void main(String[] args) {
  5. Scanner sc = new Scanner(System.in);
  6. String str = sc.next();
  7. String[] strs = new String[str.length()];
  8. int t = 0;
  9. int j = strs.length-1;
  10. long sum = 0;
  11. for (int i=0;i<=j;i++) {
  12. switch(str.charAt(i)) {
  13. case '0':
  14. t = 0;
  15. break;
  16. case '1':
  17. t = 1;
  18. break;
  19. case '2':
  20. t = 2;
  21. break;
  22. case '3':
  23. t = 3;
  24. break;
  25. case '4':
  26. t = 4;
  27. break;
  28. case '5':
  29. t = 5;
  30. break;
  31. case '6':
  32. t = 6;
  33. break;
  34. case '7':
  35. t = 7;
  36. break;
  37. case '8':
  38. t = 8;
  39. break;
  40. case '9':
  41. t = 9;
  42. break;
  43. case 'A':
  44. t = 10;
  45. break;
  46. case 'B':
  47. t = 11;
  48. break;
  49. case 'C':
  50. t = 12;
  51. break;
  52. case 'D':
  53. t = 13;
  54. break;
  55. case 'E':
  56. t = 14;
  57. break;
  58. case 'F':
  59. t = 15;
  60. break;
  61. }
  62. sum = (long) (Math.pow(16,j-i)*t + sum);
  63. }
  64. System.out.println(sum);
  65. }
  66. }

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




文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。

原文链接:czhenya.blog.csdn.net/article/details/77609322

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。