当前位置:主页 > 软件编程 > JAVA代码 >

Java 十进制转二、八、十六进制的字符串

时间:2022-02-12 09:20:01 | 栏目:JAVA代码 | 点击:

十进制转二进制

class DecToBin
{
 public static void main(String[] args) 
 {
 //System.out.println("Hello World!");
 long dec = -9223372036854775807l;
 // -9223372036854775808 这个数不行,不要试,嘿嘿
 String binStr="";
 long decAbs=Math.abs(dec);
 while (decAbs>0)
 { binStr=(decAbs&1)+binStr;
 decAbs>>=1;
 }
 binStr= dec<0?"-"+binStr:dec==0?"0":binStr;

 System.out.println(binStr);
 }
}

十进制转八进制

class DecToOct
{
 public static void main(String[] args) 
 {
 //System.out.println("Hello World!");
 long dec=-0;//有-0 吗?
 String octStr="";
 long decAbs=Math.abs(dec);
 while (decAbs>0)
 { octStr=(decAbs&7)+octStr;//
 decAbs>>=3;
 }
 octStr= dec<0?"-"+octStr:dec==0?"0":octStr;
 System.out.println(octStr);
 }
}

十进制转十六进制

class DecToHex
{
 public static void main(String[] args) 
 {
 System.out.println("Hello World!");
 long dec=-1;//计算器的负数不会弄 -。-
 String hexStr="";
 long decAbs=Math.abs(dec);
 while(decAbs>0)
 { long lastFour=decAbs&15;
 if (lastFour>9)
 hexStr=(char)('A'+lastFour-10)+hexStr;
 else hexStr=lastFour+hexStr;
 decAbs>>=4;
 }
 hexStr= dec<0?"-"+hexStr:dec==0?"0":hexStr;
 System.out.println(hexStr);
 }
}

您可能感兴趣的文章:

相关文章