java中的十进制和二进制

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

猜你喜欢

转载自blog.csdn.net/phoenix_tgd/article/details/79832043