一、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
进制转换如何写(二,八,十六)不用算法
Integer.toBinaryString
Integer.toOctalString
Integer.toHexString
二、字节数组与JAVA类型转换
//long类型转成byte数组
publicstaticbyte[]longToByte(longnumber){
longtemp=number;
byte[]b=newbyte[8];
for(inti=0;i
b[i]=newLong(temp&0xff).byteValue();//
将最低位保存在最低位
temp=temp>>8;//向右移8位
}
returnb;
}
//byte数组转成long
publicstaticlongbyteToLong(byte[]b){
longs=0;
longs0=b[0]&0xff;//最低位
longs1=b[1]&0xff;
longs2=b[2]&0xff;
longs3=b[3]&0xff;
longs4=b[4]&0xff;//最低位
longs5=b[5]&0xff;
longs6=b[6]&0xff;
longs7=b[7]&0xff;
// s0不变
s1<<=8;
s2<<=16;
s3<<=24;
s4<<=8*4;
s5<<=8*5;
s6<<=8*6;
s7<<=8*7;
s=s0|s1|s2|s3|s4|s5|s6|s7;
returns;
}
/**
*注释:int到字节数组的转换!
*
* @param number
* @return
*/
publicstaticbyte[]intToByte(intnumber){
inttemp=number;
byte[]b=newbyte[4];
for(inti=0;i
b[i]=newInteger(temp&0xff).byteValue();//
将最低位保存在最低位
temp=temp>>8;//向右移8位
}
returnb;
}
/**
*注释:字节数组到int的转换!
*
* @param b
* @return
*/
publicstaticintbyteToInt(byte[]b){
ints=0;
ints0=b[0]&0xff;//最低位
ints1=b[1]&0xff;
ints2=b[2]&0xff;
ints3=b[3]&0xff;
s3<<=24;
s2<<=16;
s1<<=8;
s=s0|s1|s2|s3;
returns;
}
/**
*注释:short到字节数组的转换!
*
* @param s
* @return
*/
publicstaticbyte[]shortToByte(shortnumber){
inttemp=number;
byte[]b=newbyte[2];
for(inti=0;i
b[i]=newInteger(temp&0xff).byteValue();//
将最低位保存在最低位
temp=temp>>8;//向右移8位
}
returnb;
}
/**
*注释:字节数组到short的转换!
*
* @param b
* @return
*/
publicstaticshortbyteToShort(byte[]b){
shorts=0;
shorts0=(short)(b[0]&0xff);//最低位
shorts1=(short)(b[1]&0xff);
s1<<=8;
s=(short)(s0|s1);
returns;
}