方法一:
利用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
没有回复内容