1:
十进制 | 二进制 | |
基本数字 | 0~9 | 0~1 |
进位规则 | 十进一 | 二进一 |
位权 | 一个数码在不同的位置上所表示的值不同 | 一个数码在不同的位置上所表示的值不同 |
2:JDK内置的进制转换:
十进制转换成十六进制 | Integer.toHexString(int i) |
十进制转换成八进制 | Integet.toOctalString(int i) |
十进制转换成二进制 | Integer.toBinaryString(int i) |
十六进制转换成十进制 | Integer.valueOf("FFFF",16).toString() |
八进制转换成十进制 | Integer.valueOf("376",8).toString() |
二进制转换成十进制 | Integer.valueOf("0101",2).toString() |
public class Redix {
public static void main(String[] args){
//十进制转换成其他进制
System.out.println(Integer.toHexString(112));
System.out.println(Integer.toOctalString(112));
System.out.println(Integer.toBinaryString(112));
//其他进制转换成十进制
System.out.println(Integer.parseInt("A6",16));
System.out.println(Integer.parseInt("76",8));
System.out.println(Integer.parseInt("110011",2));
//parseInt和vlaueOf().toString()方法一样
System.out.println(Integer.valueOf("A6",16).toString());
System.out.println(Integer.valueOf("76",8).toString());
System.out.println(Integer.valueOf("110011",2).toString());
}
}:
3:java中的进制
基本数据类型有以下四种:
1):int数据类型:byte,int,short,long
2):float数据类型:单精度(float),双精度(Double)
3):Boolean类型变量的取值有:true,flase
4):char数据类型有:unicode字符,十六位
小端法:低位字节排放在内存的低地址端即该值的起始位置 ,高位字节排放内存的高地址端。
大端法:低位字节排放在内存的高地址段即该值的起始位置,高位字节排放内存的低地址端。
public class convert {
/**
* int转换为Bytes[]
* @param id
*/
public static byte[] intToBytes(int id){
byte[] arr=new byte[4];
for(int i=0;i<arr.length;i++){
arr[i]=(byte)((int)(id>>i*8 &0xff));
}
return arr;
}
/**
* byte[]转换为int型
* @param arr
* @return
*/
public static int byteToInt(byte[] arr){
int result=0;
for(int i=0;i<arr.length;i++){
result +=(int)((arr[i]& 0xff) <<i*8);
}
return result;
}
public static void main(String[] args){
byte[] arr=convert.intToBytes(8143);
System.out.println(arr[0]+","+arr[1]+","+arr[2]+","+arr[3]);
System.out.println(convert.byteToInt(arr));
}
}