Java教程

java基础:进制和转换

本文主要是介绍java基础:进制和转换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

关于进制

所有数字在计算机底层都以二进制形式存在。

对于整数,有四种表示方式

  • 二进制(binary):满2进1,以0B或0b开头
  • 十进制(decimal):满10进1
  • 八进制(octal):0-7,满8进1,以数字0开头
  • 十六进制(hex):满16进1,以0X或0x开头表示,A-F不区分大小写。

image-20210414163550977

image-20210414163643812

public class BinTest {
    public static void main(String[] args) {
        int i = 0123;//八进制
        int j = 0x123;//十六进制
        int m = 0b1010;//二进制
        System.out.println(m);
        System.out.println(i);
        System.out.println(j);
    }
}

image-20210414163937911

二进制

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

image-20210414170239768

image-20210414170359218

image-20210414170511715

image-20210414171217294

二进制、八进制、十六进制转换

image-20210414171724716

image-20210414171810695

进制之间的转换方法

Integer包装类的方法

//将int转换为十六进制
public static String toHexString(int i)  
//将int转换为八进制    
public static String toOctalString(int i) 
//将int转换为二进制   
public static String toBinaryString(int i)

测试

public class BinTest {
    public static void main(String[] args) {
        int i = 0123;//八进制
        int j = 0x123;//十六进制
        int m = 0b1010;//二进制

        //二进制转十六进制
        System.out.println(Integer.toHexString(m));

        //八进制转二进制
        System.out.println(Integer.toBinaryString(i));

        //十六进制转十进制
        System.out.println(Integer.toString(j));
    }
}

image-20210414172908092

这篇关于java基础:进制和转换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!