(一)相关概念:
1.定点数:约定机器中所有数据的小数点位置固定不变,小数点不再使用记号标记,通常将数据表示成纯小数或整数
2.浮点数:把数的范围和精度分别表示(相当于数的小数点位置随比例因子的不同而在一定的范围内可以浮动)
3.真值:一般书写的数
4.机器码或机器数:机器中编码表示的数
(二)数据表示方法
1.定点数表示方法
符号 | 量值(尾数) |
纯小数表示范围:
纯整数表示范围:
2.浮点数表示方法
将一个二进制浮点数表示成
M为尾数,2为基数,e是指数。
尾数:有效数字的位数
阶码:给出的指数(用整数形式表示),指明小数点位置,决定了浮点数的表示范围
阶符 阶码 数符 尾数
3.十进制数串的表示方法
(1)字符串形式:1byte 存放数位或符号位,需要给出主存的起始地址和位数,所需内存较大,主要应用于非数值计算领域
(2)压缩的十进制数串形式:1byte 存放两个十进制的数位
(三)数的机器码表示
1.原码表示法(符号位不变)
(1)正数(符号位为0):原值,如,原码为
(2)负数(符号位为1):或
,如
,原码为
(3)缺点:加法运算复杂,同号数值相加,异号相减;减法先比较绝对值大小,大数减小数,再选择符号
2.反码表示法(符号位不变)
(1)正数(符号位为0):原值,如,反码为
(2)负数(符号位为1):或
3.补码表示法(符号位不变)
(1)正数(符号位为0):原值,如,补码为
(2)负数(符号位为1):或
(3)0的补码和反码都是0,无符号位
4.移码表示法(常用于表示浮点数的阶码)
(1)移码的定义:
,
(2)移码中的符号位与其余三码相反
一点自己的思考
1.原码反码补码转换速记:
(1)正数三码相同。
(1)负数符号位不变,数值位全部求反(原码变为反码)
思考过程:原码和反码相加为,原码为
,相减/得
(2)反码最低位+1(原码变补码)
思考过程:反码为,+1得补码
2.补码为了弥补原码不适合做减法的缺陷而存在,不论数为正还是负,原码减法运算可换成补码加法运算(推导过程略,参考补码形成过程)
(四)浮点数的机器表示(IEEE754标准)
1.标准格式
32位浮点数
S(1b) | E(8b) | M(23b) |
64位浮点数
S(1b) | E(10b) | M(52b) |
p.s. S为符号位,E为阶码,M为尾数
2.32位浮点数真值
1.真值公式(规格化数)
2.读取规则
E | M | 真值 |
255 | <>0 | NaN(无数据) |
255 | 0 | |
0 | 0 | |
(0,255) | ||
0 | <>0 |
2.64位浮点数真值
(五)文字的表示方法
注意奇校验和偶校验
按位加为奇数,偶校验码为0,奇校验码为1;反之,则反。