11--进制

进制描述

所有数据在计算机底层都以二进制的形式存在。
在java中对于整数,有四种表示方式:

  1. 二进制(binary):0,1 ,满2进1.以0b0B开头。
  2. 十进制(decimal):0-9 ,满10进1。
  3. 八进制(octal):0-7 ,满8进1. 以数字0开头表示。
  4. 十六进制(hex):0-9及A-F,满16进1. 以0x0X开头表示。此处的A-F不区分大小写。 如:0x21AF +1= 0X21B0

二进制

Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位; 当是long类型时,二进制默认占64位,第64位是符号位
二进制的整数有如下三种形式:

  1. 原码:直接将一个数值换成二进制数。最高位是符号位
  2. 负数的反码:是对原码按位取反,只是最高位(符号位)确定为1。
  3. 负数的补码:其反码加1。

计算机以二进制补码的形式保存所有的整数:

  1. 正数的原码、反码、补码都相同
  2. 负数的补码是其反码+1
    实例:
    在这里插入图片描述
    对于正数来讲:源码、反码、补码是相同的:三码合一
    计算机底层都是使用二进制表示的数值 。
    计算机底层都是使用的数值的补码保存数据的。

进制间转化

十进制 二进制互转 :

  1. 二进制转成十进制 乘以2的幂数
  2. 十进制转成二进制 除以2取余数
    注意: 以下实例的数字都使用字节类型:
    实例: 将十进制35转换为二进制
    在这里插入图片描述
    计算完毕后将余数由高位到地位的顺序排列,不够的在其开始位置使用0补全:
    此时在计算机中表示:
    在这里插入图片描述

将十进制的-35转换为二进制:
在这里插入图片描述
关于其他进制之间的转换这里不做将讲解

猜你喜欢

转载自blog.csdn.net/qwy715229258163/article/details/113843590