关于原码补码反码的介绍
3.1.1 数值型数据的表示和转换在计算机系统中,常用的几种数制有下列几种:二进制 R=2, 八进制 R=8, 十六进制 R=16, A,B,C,D,E,F 十进制 R=10, 基本符号为 0和1 基本符号为 0,1,2,3,4,5,6,7 基本符号为 0,1,2,3,4,5,6,7,8,9, 基本符号为 0,1,2,3,4,5,6,7,8,9
关于原码补码反码的介绍
1. R进制数转换成十进制数例1: 二进制数转换成十进制数。 (10101.01)2=(1×24+0×23+1×22+0×21+1×20+ 0× 2-1+1×2-2)10=(21.25)10 例2: 八进制数转换成十进制数。 (307.6)8=(3×82+7×80+6×8-1) 10=(199.75)
R进制数转换成十进制数时,只要“按权展开”即可。
10
例3: 十六进制数转换成十进制数。 (3A.C)=(3×161+10×160+12×16-1) =(58.75) 10
10
关于原码补码反码的介绍
2. 十进制数转换成R进制数 十进制数转换成R进制数时,要将整数和小数部分分 别进行转换。 (1)整数部分的转换 整数部分的转换方法是“除基取余”。 例1: 将十进制整数835分别转换成二、八进制数。 余数 低位 835 3 8 8 104 0
88
1318
51 高位
0 (835) 10=(1503)
关于原码补码反码的介绍
余数 2 2 2 2 2 2 2 2 2 2 835 1 1 0 0 0 0 13 26 52 104 208
低位
417
1 63 1 0 0
1 1高位
(835)
10=(1101000011) 2
关于原码补码反码的介绍
(2)小数部分的转换 小数部分的转换方法是“乘基取整”。 例2: 将十进制小数0.6875分别转换成二、八进制数。 整数部分 0.6875×2=1.375 0.375×2=0.75 0.75×2=1.5 0.5×2=1.0 (0.6875)10=(0.1011) 2
高位
1 0 1 1
低位
关于原码补码反码的介绍
整数部分
高位
0.6875×8=5.50.5×8=4.0 (0.6875)10=(0.54) 8
54
低位 例3 :将十进制小数0.63转换成二进制数。 0.63×2=1.26 0.26×2=0.52 0.52×2=1.04 0.04×2=0.08 (0.63)10=(0.1010) 2
整数部分 1 0 1 0 (近似值)
高位
低位
关于原码补码反码的介绍
(3)含整数、小数部分的数的转换 只要将整数、小数部分分别进行转换,得到转换后的 整数和小数部分,然后再这两部分组合起来得到一个 完整的数。
例4: 将十进制数835.6875转换成二、八进制数。 (835.6875) 10=(1101000011.1011) 2=(1503.54) 8 3. 二、八、十六进制数的相互转换010 100 ) 2
(1)八进制数转换成二进制数(13.724) 8=( 001 011 . 111 =(1011.1110101) 2
关于原码补码反码的介绍
(2)十六进制数转换成二进制数 (2B.5E)16 = ( 0010 1011 . 0101 = (101011.0101111) 2 (3)二进制数转换成八进制数 (10011.01)2
1110
)
2
= (
010
011 . 010
)
2
= (23.2)
8
(4)二进制数转换成十六进制数(11001.11)2
= ( 0001 1001 . 1100 = ( 19.C ) 16
)
2
关于原码补码反码的介绍
3.2 机器数在计算机中的表示方法及加减法运算●
真值vs.机器数 –真值:正、负号加某进制数绝对值的形式 称为真值。
如二进制真值: X=+1011 y=-1011–机器数:符号数码化的数称为机器数如 : X=01011 Y=11011 机器数特点: 1、数的符号数值化 2、表示范围受字长限制 超出此范围__溢出 3、小数点的位置要约定●
关于原码补码反码的介绍
●
定点机器数的编码表示: 原码 补码 反码 移码
正数:原
码、反码和补码表示都相同
负数:原码、反码和补码表示不同
关于原码补码反码的介绍
3.2.1 原码表示法
原码表示法用“0”表示正号,用“1”表示负 号,数值位用真值的绝对值表示。–整数的符号位与数值位之间用逗号“,”隔开; –小数的符号位与数值位之间用小数点“.”隔开。
关于原码补码反码的介绍
3. 定点整数原码定义设[x]原=XsX1…Xn ,其中Xs为符号位,共n+1位字长 x [x]原= 2 -xn n
当 当
2
x 0n
0 x -2
…… 此处隐藏1308字 ……
关于原码补码反码的介绍
3.2.3
反码表示法1 x 0 0 x 1
1.定点小数反码的定义
[x]反=
x -n 2-2 +x
例: x = -0.1011(n=4) 求[x]反 [x]反= 2 -2-4 + (-0.1011) =10.0000-0.0001-0.1011 =1.1111-0.1011 =1.0100