Java进制

  • 进制定义
  • Java常用的进制
  • 二进制
  • 八进制
  • 十六进制


进制定义

java中二进制表示 java 二进制表示_反码

Java常用的进制

二进制

  • 计算机底层都是使用二进制进行存储以及运算
  • 0b****;(以0b或者0B开始,*表示0或1)比如:010101
  • 原码
    将数据以二进制表示,即为自然数的原码,以 int 类型为例,int类型占4个字节、共32位。
    2 的原码表示就是:0000 0000 0000 0000 0000 0000 0000 0010
    -2的原码表示就是:1000 0000 0000 0000 0000 0000 0000 0010
    如上所示:
    最高位为符号位:0 表示正数 1表示负数
  • 反码
    正数的反码跟原码一致,负数反码即原码符号位不变,其他按位取反即为反码。
    如2的反码就是:0000 0000 0000 0000 0000 0000 0000 0010 (跟原码一致)
    -2的反码就是: 1111 1111 1111 1111 1111 1111 1111 1101 (符号位不变,其他按位取反)
  • 补码
    正数的补码跟原码、反码一致,负数的反码由原码+1得到。
    如2的补码就是:0000 0000 0000 0000 0000 0000 0000 0010 (跟原码、反码一致)
    -2的补码就是: 1111 1111 1111 1111 1111 1111 1111 1110 (反码+1)- 注意事项
    1.二进制的最高位是符号位(“0”代表正数,“1”代表负数);
    2.Java中没有无符号数;
    3.计算机以整数的补码进行运算;

八进制

0****;(以数字0开始,*表示0到7任意数字 比如:012345)

十六进制

0x****;(以0x或者0X开始,*表示09或者af组成 比如:0x12c