计算机中不同进制的使用说明
- 所有数字在计算机底层都以二进制形式存在。
- 对于整数,有四种表示方式:
- 二进制(binary):0,1 ,满2进1.以0b或0B开头。
- 十进制(decimal):0-9 ,满10进1。
- 八进制(octal):0-7 ,满8进1. 以数字0开头表示。
- 十六进制(hex):0-9及A-F,满16进1. 以0x或0X开头表示。此处的A-F不区分大小写。如:0x21AF +1= 0X21B0
二进制转换十进制
- Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;当是long类型时,二进制默认占64位,第64位是符号位
- 二进制的整数有如下三种形式:
- 原码:直接将一个数值换成二进制数。最高位是符号位
- 负数的反码:是对原码按位取反,只是最高位(符号位)确定为1。
- 负数的补码:其反码加1。 - 计算机以二进制补码的形式保存所有的整数。
- 正数的原码、反码、补码都相同
- 负数的补码是其反码+1
eg:
eg:
eg:
十进制转换二进制
方法:除2取余的逆。
eg:13的二进制表达
- 第一步:13/2 = 6 …… 1
- 第二步:6 / 2 = 3 …… 0
- 第三步:3 / 2 = 1 …… 1
- 第四步:1 / 2 = 0 …… 1
- 第五步:从下往上取余得1101,即为13的二进制表达。
二进制转换八进制
因为8恰好是2的3次幂,所以二进制的3位等于八进制的1位。
eg:
二进制转换十六进制
因为16恰好是2的4次幂,所以二进制的4位等于十六进制的1位。
eg:
八、十六进制转换二进制
如前所述,二进制的3位等于八进制的1位,二进制的4位等于十六进制的1位,把每一位相反操作得到的数就是二进制数。
eg:
本章完结!