java、计算机进制转换,二进制 十进制 十六进制 的进制等等!
2012-09-03 18:17
344 查看
2进制CPU使用,8进制很少见,10进制适合人类使用,16进制适合编译器和底层程序员使用,希望对你有所帮助! 以下文章是自己从别的地方复制粘贴过来, 总结了一下。 虽然看着有点乱, 但是想学 ,就能看懂。 若是有什么问题 , 可直接在下方给我留言!!!
由于Unicode兼容ASCII(0~255),因此,上面得到的Unicode就是ASCII。
至于转换成二进制或其他进制,Java API提供了方便函数,你可以查Java的API手册。
以字符a的ASCII为例:
int i = 'a';
String iBin = Integer.toBinaryString(i);//二进制
String iHex = Integer.toHexString(i);//十六进制
String iOct = Integer.toOctalString(i);//八进制
String iWoKao = Integer.toString(i,3);//三进制或任何你想要的35进制以下的进制
DEC
[集]java中进行二进制,八进制,十六进制,十进制间进行相互转换
十进制转成十六进制:
Integer.toHexString(int i)
十进制转成八进制
Integer.toOctalString(int i)
十进制转成二进制
Integer.toBinaryString(int i)
十六进制转成十进制
Integer.valueOf("FFFF",16).toString()
八进制转成十进制
Integer.valueOf("876",8).toString()
二进制转十进制
Integer.valueOf("0101",2).toString()
有什么方法可以直接将2,8,16进制直接转换为10进制的吗?
java.lang.Integer类
parseInt(String s, int radix)
使用第二个参数指定的基数,将字符串参数解析为有符号的整数。
examples from jdk:
parseInt("0", 10) returns 0
parseInt("473", 10) returns 473
parseInt("-0", 10) returns 0
parseInt("-FF", 16) returns -255
parseInt("1100110", 2) returns 102
parseInt("2147483647", 10) returns 2147483647
parseInt("-2147483648", 10) returns -2147483648
parseInt("2147483648", 10) throws a NumberFormatException
parseInt("99", 8) throws a NumberFormatException
parseInt("Kona", 10) throws a NumberFormatException
parseInt("Kona", 27) returns 411787
<!-- 转换的过程 -->
1. 十进制(25.625 )转二进制:
整数部分:
25/2=12......1
12/2=6 ......0
6/2=3 ......0
3/2=1 ......1
1/2=0 ......1
然后我们将余数按从下往上的顺序书写就是:11001,那么这个11001就是十进制25的二进制形式
小数部分:
0.625*2=1.25
0.25 *2=0.5
0.5 *2=1.0
(以上小数转换不要误导,0.25 和 0.5 取的是上一次运算出来的小数部分)
然后我们将整数部分按从上往下的顺序书写就是:101,那么这个101就是十进制0.625的二进制形式
所以:(25.625)(十)=(11001.101)(二)
2. 二进制(11001.101)转十进制:
整数部分: 下面的出现的2(x)表示的是2的x次方的意思
1*2(4)+1*2(3)+0*2(2)+0*2(1)+1*2(0)=25
小数部分:
1*2(-1)+0*2(-2)+1*2(-3)=0.625 (另外数学不好的同志记住: 2的负一次方是 1/2 。 8的负一次方是1/8)
所以:(11001.101)(二)=(25.625)(十)
二进制转化为十进制是这样的:
这里可以用8421码的方法.这个方法是将你所要转化的二进制从右向左数,从0开始数(这个数我们叫N),在位数是1的地方停下,并将1乘以2的N次方,最后将这些1乘以2的N次方相加,就是这个二进数的十进制了.
还是举个例子吧:
求110101的十进制数.从右向左开始了
(1) 1乘以2的0次方,等于1;
(2) 1乘以2的2次方,等于4;
(3) 1乘以2的4次方,等于16;
(4) 1乘以2的5次方,等于32;
(5) 将这些结果相加:1+4+16+32=53
3. 十进制(25.625)转八进制
整数部分:
25/8=3......1
3/8 =0......3
然后我们将余数按从下往上的顺序书写就是:31,那么这个31就是十进制25的八进制形式
小数部分:
0.625*8=5 (这里如果相乘得到的数含有小数,则继续用小数部分乘以8......)
然后我们将整数部分按从上往下的顺序书写就是:5,那么这个0.5就是十进制0.625的八进制形式
所以:(25.625)(十)=(31.5)(八)
4. 八进制(31.5)转十进制:
整数部分:
3*8(1)+1*8(0)=25
小数部分:
5*8(-1)=0.625
所以(31.5)(八)=(25.625)(十)
5. 十进制(25.625)转十六进制 :
再将这个之前, 先说明: ABCDEF 分别代表 (10、11、12、13、14、15)
整数部分:
25/16=1......9
1/16 =0......1
然后我们将余数按从下往上的顺序书写就是:19,那么这个19就是十进制25的十六进制形式
小数部分:
0.625*16=10(即十六进制的A或a)
然后我们将整数部分按从上往下的顺序书写就是:A,那么这个A就是十进制0.625的十六进制形式
所以:(25.625)(十)=(19.A)(十六)
6. 十六进制(19.A)转十进制:
整数部分:
1*16(1)+9*16(0)=25
小数部分:
10*16(-1)=0.625
所以(19.A)(十六)=(25.625)(十)
![](http://img.my.csdn.net/uploads/201209/03/1346667662_9299.jpg)
以上纯属个人制作, 若有问题不要喷, 请留言本人。
public class Sun { public static void main(String[] args) { System.out.println(Integer.toHexString(20)); //十进制转成十六进制 System.out.println(Integer.toBinaryString(20));//十进制转成二进制 System.out.println(Integer.toOctalString(20));//十进制转成八进制 System.out.println(Integer.valueOf("FFFF",16).toString());//十六进制转成十进制 System.out.println(Integer.valueOf("5",8).toString());//八进制转成十进制 System.out.println(Integer.valueOf("0101", 2).toString());//二进制转十进制 } }
由于Unicode兼容ASCII(0~255),因此,上面得到的Unicode就是ASCII。
至于转换成二进制或其他进制,Java API提供了方便函数,你可以查Java的API手册。
以字符a的ASCII为例:
int i = 'a';
String iBin = Integer.toBinaryString(i);//二进制
String iHex = Integer.toHexString(i);//十六进制
String iOct = Integer.toOctalString(i);//八进制
String iWoKao = Integer.toString(i,3);//三进制或任何你想要的35进制以下的进制
DEC
[集]java中进行二进制,八进制,十六进制,十进制间进行相互转换
十进制转成十六进制:
Integer.toHexString(int i)
十进制转成八进制
Integer.toOctalString(int i)
十进制转成二进制
Integer.toBinaryString(int i)
十六进制转成十进制
Integer.valueOf("FFFF",16).toString()
八进制转成十进制
Integer.valueOf("876",8).toString()
二进制转十进制
Integer.valueOf("0101",2).toString()
有什么方法可以直接将2,8,16进制直接转换为10进制的吗?
java.lang.Integer类
parseInt(String s, int radix)
使用第二个参数指定的基数,将字符串参数解析为有符号的整数。
examples from jdk:
parseInt("0", 10) returns 0
parseInt("473", 10) returns 473
parseInt("-0", 10) returns 0
parseInt("-FF", 16) returns -255
parseInt("1100110", 2) returns 102
parseInt("2147483647", 10) returns 2147483647
parseInt("-2147483648", 10) returns -2147483648
parseInt("2147483648", 10) throws a NumberFormatException
parseInt("99", 8) throws a NumberFormatException
parseInt("Kona", 10) throws a NumberFormatException
parseInt("Kona", 27) returns 411787
<!-- 转换的过程 -->
1. 十进制(25.625 )转二进制:
整数部分:
25/2=12......1
12/2=6 ......0
6/2=3 ......0
3/2=1 ......1
1/2=0 ......1
然后我们将余数按从下往上的顺序书写就是:11001,那么这个11001就是十进制25的二进制形式
小数部分:
0.625*2=1.25
0.25 *2=0.5
0.5 *2=1.0
(以上小数转换不要误导,0.25 和 0.5 取的是上一次运算出来的小数部分)
然后我们将整数部分按从上往下的顺序书写就是:101,那么这个101就是十进制0.625的二进制形式
所以:(25.625)(十)=(11001.101)(二)
2. 二进制(11001.101)转十进制:
整数部分: 下面的出现的2(x)表示的是2的x次方的意思
1*2(4)+1*2(3)+0*2(2)+0*2(1)+1*2(0)=25
小数部分:
1*2(-1)+0*2(-2)+1*2(-3)=0.625 (另外数学不好的同志记住: 2的负一次方是 1/2 。 8的负一次方是1/8)
所以:(11001.101)(二)=(25.625)(十)
二进制转化为十进制是这样的:
这里可以用8421码的方法.这个方法是将你所要转化的二进制从右向左数,从0开始数(这个数我们叫N),在位数是1的地方停下,并将1乘以2的N次方,最后将这些1乘以2的N次方相加,就是这个二进数的十进制了.
还是举个例子吧:
求110101的十进制数.从右向左开始了
(1) 1乘以2的0次方,等于1;
(2) 1乘以2的2次方,等于4;
(3) 1乘以2的4次方,等于16;
(4) 1乘以2的5次方,等于32;
(5) 将这些结果相加:1+4+16+32=53
3. 十进制(25.625)转八进制
整数部分:
25/8=3......1
3/8 =0......3
然后我们将余数按从下往上的顺序书写就是:31,那么这个31就是十进制25的八进制形式
小数部分:
0.625*8=5 (这里如果相乘得到的数含有小数,则继续用小数部分乘以8......)
然后我们将整数部分按从上往下的顺序书写就是:5,那么这个0.5就是十进制0.625的八进制形式
所以:(25.625)(十)=(31.5)(八)
4. 八进制(31.5)转十进制:
整数部分:
3*8(1)+1*8(0)=25
小数部分:
5*8(-1)=0.625
所以(31.5)(八)=(25.625)(十)
5. 十进制(25.625)转十六进制 :
再将这个之前, 先说明: ABCDEF 分别代表 (10、11、12、13、14、15)
整数部分:
25/16=1......9
1/16 =0......1
然后我们将余数按从下往上的顺序书写就是:19,那么这个19就是十进制25的十六进制形式
小数部分:
0.625*16=10(即十六进制的A或a)
然后我们将整数部分按从上往下的顺序书写就是:A,那么这个A就是十进制0.625的十六进制形式
所以:(25.625)(十)=(19.A)(十六)
6. 十六进制(19.A)转十进制:
整数部分:
1*16(1)+9*16(0)=25
小数部分:
10*16(-1)=0.625
所以(19.A)(十六)=(25.625)(十)
![](http://img.my.csdn.net/uploads/201209/03/1346667662_9299.jpg)
以上纯属个人制作, 若有问题不要喷, 请留言本人。
相关文章推荐
- java 进制转换,二进制 十进制 十六进制 正数 负数的进制等等!
- java中各进制之间的转换(十进制转十六进制、十进制转二进制、二进制转十进制、二进制转十六进制)
- java十六进制转化为其他进制 二进制转化为其他进制 十进制转化为其他进制案例
- java 进制换转 十进制 转 二进制 八进制 十六进制
- Java的进制转换操作(十进制、十六进制、二进制)
- 计算机进制转换:二进制、八进制、十进制、十六进制互转
- java中各进制之间的转换(十进制转十六进制、十进制转二进制、二进制转十进制、二进制转十六进制)
- java中各进制之间的转换(十进制转十六进制、十进制转二进制、二进制转十进制、二进制转十六进制)
- java中进行二进制,八进制,十六进制,十进制间进行相互转换
- Java 十进制 转 二进制、八进制、十六进制
- [JAVA]二进制,八进制,十六进制,十进制间进行相互转换
- [JAVA]二进制,八进制,十六进制,十进制间进行相互转换
- Java 二进制、八进制、十六进制与十进制之间的转换
- 进制(二进制,十进制,十六进制等)的理解
- Java中二进制、十进制、十六进制及ASCII码与String及字节数组与十六进制之间的转换
- java中进行二进制,八进制,十六进制,十进制间进行相互转换
- java 十进制与二进制,八进制,十六进制之间的转换
- Java 十进制 向二进制 十六进制 转化
- 进制转换(二进制、八进制、十进制与十六进制之间的相互转换)
- 我的Java开发学习之旅------>二进制、八进制、十进制、十六进制之间转换