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);
 }
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。