Java 进制转化

来源:互联网 发布:索尼网络签约经销商 编辑:程序博客网 时间:2024/04/19 20:35
import java.util.Scanner;public class jinzhishu {/** * 十进制转化八进制 */public static void main(String[] args) {// TODO Auto-generated method stubScanner sc=new Scanner(System.in);//int n=sc.nextInt();String s=sc.next();//char a=s.charAt(0);System.out.println(Integer.parseInt(s+" "));//f(n);}public static void f(int n){int a[]=new int[100];int temp,i=0;while(n>0){temp=n%2;a[i++]=temp;n/=2;}for(int j=i-1;j>=0;j--){System.out.print(a[j]);}System.out.println();int result=0,l=0;for(int k=0;k<i;k++){result+=a[k]*(int)Math.pow(2,l++);//System.out.println(result);}System.out.println(result);}}


import java.util.Scanner;public class shijinzhi {/** * 进制转换  十--->十六 */public static void main(String[] args) {// TODO Auto-generated method stubScanner sc=new Scanner(System.in);int n=sc.nextInt();System.out.println(Integer.toHexString(n).toUpperCase());//System.out.println(Long.parseLong(n,16));}}
import java.util.Scanner;//十六-->十进制public class jinzhi16_10 {    public static void main(String[] args) {          Scanner sc = new Scanner(System.in);          String str = sc.next();                    String[] strs = new String[str.length()];          int t = 0;          int j = strs.length-1;          long sum = 0;          for (int i=0;i<=j;i++) {              switch(str.charAt(i)) {              case '0':                  t = 0;                  break;              case '1':                  t = 1;                  break;              case '2':                  t = 2;                  break;              case '3':                  t = 3;                  break;              case '4':                  t = 4;                  break;              case '5':                  t = 5;                  break;              case '6':                  t = 6;                  break;              case '7':                  t = 7;                  break;              case '8':                  t = 8;                  break;              case '9':                  t = 9;                  break;              case 'A':                  t = 10;                  break;              case 'B':                  t = 11;                  break;              case 'C':                  t = 12;                  break;              case 'D':                  t = 13;                  break;              case 'E':                  t = 14;                  break;              case 'F':                  t = 15;                  break;              }                            sum = (long) (Math.pow(16,j-i)*t + sum);          }          System.out.println(sum);      }  }  
package jichusuanfa;public class jinzhizhuanhuan {    public static void main(String[] args)       {          toBin(6);          toBa(60);          toHex(60);      }        //十进制-->二进制      public static void toBin(int num)      {          System.out.print(num + "的二进制为:");          trans(num, 1, 1);          System.out.println();      }        //十进制-->八进制      public static void toBa(int num)      {          System.out.print(num + "的八进制为:");          trans(num, 7, 3);          System.out.println();      }        //十进制-->十六进制      public static void toHex(int num)      {          System.out.print(num + "的十六进制为:");          trans(num, 15, 4);          System.out.println();      }        public static void trans(int num, int base, int offset)      {          if(num == 0)          {              System.out.println(0);              return;          }          char [] chs = {'0', '1', '2', '3',                 '4', '5', '6', '7',                 '8', '9', 'A', 'B',                 'C', 'D', 'E', 'F'};          char [] arr = new char[32];            int pos = arr.length;            while(num != 0)          {              int temp = num & base;              arr[--pos] = chs[temp];              num = num >>> offset;          }          for(int x = pos; x < arr.length; x++)          {              System.out.print(arr[x]);          }      }  }




原创粉丝点击