参次结构
机器级包括汇编语言及机器语言
通过编译器将预处理文件转化为汇编语言时,就是将高级语言转化为机器级目标代码文件的过程,分水岭是编译程序
编码大小
补码:
FFFx=FFFF-[FFFF-(16-x)]=x-16
FFxy=FFFF-[FFFF-(256-x16-y)]=x16+y-256
补码
负数的表示法
他们为了继续使用模数加法代替减法,他们做了一个大胆而又粗暴的定义:让80等于-20,即用80代表-20
根据这个规律,推广到一般的情况就是:
负数的表示方式就是它绝对值的补数——规则①
结合规则①的负数表示方式,最终满足这一系列条件的结果是:
在模100条件下:0 ~ 49表示正数本身; 50 ~ 99表示各自补数的负值(如98代表-2)
更一般地:模n情况下,0 ~ n/2 -1表示本身,n/2 ~ n-1表示各自补数的负值——规则②
补码的实质
所谓补码,其实只是:非负数和规则①表示的负数,在二进制形式下的表示
所以虽然补码叫补码,但事实上它的本质和补字没有直接关联,它只是一种为了实现模数加法代替减法而构造出来的数字映射罢了。
补码最高位为符号位的解释
补码在二进制中的最高位为符号位,其实是因为规则②中,把半模以上的数用作表示负数,而恰好半模以上的数,在二进制表示中的最高位就是1,半模以下最高位是0。
浮点数
浮点数比大小
两个位数相同且规格化
尾数决定精度,阶码决定范围
看正负,解码大范围大,负的范围大就小;正的范围大就大
规格化
-
非左溢右
非规格化左规,溢出右规
-
左减右加
左规尾数左移阶码要减,右规位数右移阶码要加
-
左多有一
左规可能多次,右规只能一次
标识符
OF(Overflow Flag):溢出标志位。OF 标志用于指示有符号运算是否发生溢出。当有符号操作结果超出了有符号数的表示范围时,OF 位会被置位(设置为1),表示溢出。否则,OF 位将被清零(设置为0)。
SF(Sign Flag):符号标志位。SF 标志用于指示有符号操作结果的符号。当有符号操作结果的最高位为1时,SF 位会被置位,表示结果为负数。否则,SF 位将被清零。
ZF(Zero Flag):零标志位。ZF 标志用于指示操作结果是否为零。当操作结果为零时,ZF 位会被置位。否则,ZF 位将被清零。
CF(Carry Flag):进位标志位。CF 标志用于指示无符号操作中的进位或借位情况。当无符号操作发生进位或借位时,CF 位会被置位。否则,CF 位将被清零。
误差分析
当运算过程相同,但结果误差相差1一定是舍入误差引起的
当运算过程相同,但结果相差很大是由溢出引起
当IEEE754阶码为8个1时会导致上溢