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

时间:2021-12-11 05:27:38

十进制转二进制

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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);
 }
}

十进制转八进制

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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);
 }
}

十进制转十六进制

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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);
 }
}

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

原文链接:http://www.cnblogs.com/couldDog/p/6371838.html