二进制——>八进制、十六进制
1、二进制 —> 八进制
3位一组,毎组转换成对应的八进制符号
001 111 000 010 . 011 010
1 7 0 2 . 3 2 (八进制)
2、八进制—> 二进制
每位八进制对应的3位二进制
(251.5)8
(010 101 001. 101)2
3、二进制 —> 十六进制
4位一组,毎组转换成对应的十六进制符号
0011 1100 0010 . 0110 1000
3 C 2 . 6 8 十六进制
4、十六进制—> 二进制
每位十六进制对应的4位二进制
(AE86.1)16 ——> (1010 1110 0110. 0001)2
各种进制的常见书写方式
二进制—— (1010001010010)2 1010001010010B
八进制—— (1652)8
十六进制—— (1652)16 1652H 0x1652
十进制—— (1652)10 1652D
定点数的表示
定点数:小数点的位置固定
浮点数:小数点的位置不固定
Eg:996.007 ——常规计数
Eg:9.96007*102 ——科学计数法
无符号数
无符号数:整个机器字长的全部二进制位均为数值位,没有符号位,相当于数的绝对值。
1001 1100B
=1×2! + 0×2" + 0 ×2# + 1×2$ + 1×2% + 1×2& + 0×2’ + 0×2(
=156D
表示范围
8位二进制数: 2)种不同的状态
0000 0000 ~ 1111 1111
0 ~ 255
= 1 0000 0000 - 1
= 2) - 1
n位的无符号数表示范围为:0 ~ 2* -1
有符号数
第一位为符号位其余相同
原码
原码:用尾数表示真值的绝对值,符号位“0/1”对应“正/负”
若机器字长n+1位,原码整数的表示范围:
−(2n−1) ≤ x ≤ 2n−1(关于原点对称)
真值0有 +0 和 -0 两种形式
若机器字长n+1位,原码小数的表示范围:
−(1−2−n) ≤ x ≤ 1−2−n(关于原点对称)
反码
若符号位为0,则反码与原码相同
若符号位为1,则数值位全部取反
补码
补码: 正数的补码 = 原码
负数的补码 = 反码末位+1(要考虑进位)
x = +19D
[x]原 = 0,0010011
[x]反 = 0,0010011
[x]补 = 0,0010011
x = -19D
[x]原 = 1,0010011
[x]反 = 1,1101100
[x]补 = 1,1101101
关于0的表示
[+0]原=00000000
[+0]反=00000000
[-0]原=10000000
[-0]反=11111111
[+0]补= [-0]补= 00000000
补码的真值0只有一种表示形式
定点整数补码 [x]补 = 1,0000000 表示 x = -27若机器字长n+1位,补码整数的表示范围:
−2n≤ x ≤ 2n−1 (比原码多表示一个 −2n)
定点小数补码 [x]补 = 1.0000000 表示 x = -1
若机器字长n+1位,补码小数的表示范围:
−1 ≤ x ≤ 1−2−n(比原码多表示一个 −1)
移码
移码: 补码的基础上将符号位取反。注意:移码只能用于表示整数