目录
1 无符号数和有符号数
1.1 无符号数
寄存器的位数---反映无符号数的表示范围
8位---0-255、16位---0-65535
1.2 有符号数
1、机器数与真值
真值:带符号的数;机器数:符号数字化的数
2、原码表示法---简单、直观,增加一个符号位,其余不变
x为真值,n为整数的位数
0的原码可能会不同
带符号的绝对值表示
-1和1没有原码形式
原码的问题,有时加法运算,有时减法运算:
找到一个与负数等价的整数来代替这个负数,减法变加法
1.3 补码表示法---加减法归一化
(1)一个负数加上“模”即得该负数的补数;
(2)一个正数和一个负数互为补数时,绝对值之和即为模数
1、补码定义
2、求补码的快捷方式
(1)当真值为负时,补码可用原码,符号位不变,每位取反,末位加1
(2)当真值为负时,原码可用补码,符号位不变,每位取反,末位加1
1.4 反码表示法,+符号位,每位取反
正0和负0的补码不相同
1.5 三种机器数的小结
(1)最高位为符号位
(2)对于正数,原码=补码=反码
(3)对于负数,符号位为1,其数值部分原码除符号位外每位取反末位加1---补码
原码除符号位外每位取反---反码
1.6 移码表示法
补码表示很难直接判断其真值大小
1、移码定义---只有整数形式的定义
2、移码和补码的比较
3、移码的特点
(1)正0和负0的移码是相同的
(2)最小真值的移码为全0
(3)用移码表示浮点数的阶码,能方便地判断浮点数的阶码大小
2 定点数和浮点数
2.1 定点表示--- 小数点按约定方式标出
2.2 浮点表示
1、浮点数的引入原因
(1)编程困难、程序员要调节小数点的位置;
(2)数的表示范围小,为了能表示两个大小相差很大的数据,需要很长度的机器字长
(3)数据存储单元的利用率往往很低
2、浮点表示形式
S为小数,小于1的小数,可正可负
j是整数、可正可负
3、浮点数的表示范围
上溢:阶码>最大阶码
下溢:阶码<最小阶码
按机器零处理
4、浮点数的规格化形式
5、浮点数的规格化
6、例题
7、机器零
(1)当浮点数尾数为0时,不论其阶码为何值,按机器零处理;
(2)当浮点数阶码等于或小于它所表示的最小数时,不论尾数为何值,按机器零处理;