【提问】二/十/十六进制转换-Java板块造梦空间论坛-技术交流-造梦空间论坛

提问二/十/十六进制转换

文章目录[隐藏]

方法一:

利用Java自带的函数进行转换

int i = 50;
String str1 = Integer.toBinaryString(i);//转二进制
String str2 = Integer.toHexString(i);//转16进制
System.out.println(i+"的二进制="+str1+"\n"+i+"的十六进制="+str2);
int i = 50;
    String str1 = Integer.toBinaryString(i);//转二进制
    String str2 = Integer.toHexString(i);//转16进制
    System.out.println(i+"的二进制="+str1+"\n"+i+"的十六进制="+str2);
int i = 50; String str1 = Integer.toBinaryString(i);//转二进制 String str2 = Integer.toHexString(i);//转16进制 System.out.println(i+"的二进制="+str1+"\n"+i+"的十六进制="+str2);

方法二:

手动转换进制--位运算的运用:

int i1 = 50;
int i2 = i1 & 15;
String j = (i2>9)?(char)(i2-10+'A')+"":i2+"";
int temp = i1>>>4;
i2 = temp & 15;
String k = (i2>9)?(char)(i2-10+'A')+"":i2+"";
System.out.println("i1="+i1+"\ni2="+i2+"\nj="+j+"\ntemp="+temp+"\nk="+k);
System.out.println(i1+"的十六进制="+k+""+j);
int i1 = 50;
    int i2 = i1 & 15;
    String j = (i2>9)?(char)(i2-10+'A')+"":i2+"";
    int temp = i1>>>4;
    i2 = temp & 15; 
    String k = (i2>9)?(char)(i2-10+'A')+"":i2+"";
    System.out.println("i1="+i1+"\ni2="+i2+"\nj="+j+"\ntemp="+temp+"\nk="+k);
    System.out.println(i1+"的十六进制="+k+""+j);
int i1 = 50; int i2 = i1 & 15; String j = (i2>9)?(char)(i2-10+'A')+"":i2+""; int temp = i1>>>4; i2 = temp & 15; String k = (i2>9)?(char)(i2-10+'A')+"":i2+""; System.out.println("i1="+i1+"\ni2="+i2+"\nj="+j+"\ntemp="+temp+"\nk="+k); System.out.println(i1+"的十六进制="+k+""+j);

来个大佬分析一下方法2

请登录后发表评论

    没有回复内容

© 造梦空间论坛