Java 中的进制转换

基础知识

对于整数,有四种表示方式:
二进制:0,1 ,满2进1.以0b或0B开头。
十进制:0-9 ,满10进1.
八进制:0-7 ,满8进1.八进制数被冠以0来表示。
十六进制:0-9及A-F,满16进1.十六进制数被冠以0X来表示(字母大小写均可)
如: 0x3f20(十六进制) 0732 (八进制)

 

原码、反码、补码

所有数字在计算机底层都以二进制形式存在。
计算机以补码的形式保存所有的整数。
正数的原码、反码、补码都相同
负数的补码是其反码加1。
原码:直接将一个数值换成二进制数。
反码:是对原码按位取反,只是最高位(符号位)确定为1。
Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;当是long类型时,二进制默认占64位,第64位是符号位

 

Java代码实现

/*
10进制转2进制	    Integer.toBinaryString(n);	    一个二进制字符串.
10进制转8进制	    Integer.toOctalString(n);	    一个八进制字符串
10进制转16进制	Integer.toHexString(n);	        一个16进制字符串
10进制转 r 进制	Integer.toString(100, 16);	    一个r进制字符串

十六进制转成十进制
Integer.valueOf(“FFFF”,16).toString()

八进制转成十进制
Integer.valueOf(“876”,8).toString()

二进制转十进制
Integer.valueOf(“0101”,2).toString()
 */
public class execcise3 {

    public static void main(String[] args) {
        System.out.println("十进制:123\t" + "二进制:" + Integer.toBinaryString(123) +
                "\t十六进制:" + Integer.toHexString(123) );
        System.out.println("十六进制:0x123\t" + "二进制:" + Integer.toBinaryString(Integer.valueOf("123", 16))
        +"\t十进制:" + Integer.valueOf("123", 16).toString());
    }
}

 

微信关注

阅读剩余
THE END