定点数的表示
定点数:小数点的位置固定 Eg:996.007 常规计数 浮点数:小数点的位置不固定 Eg: 9.96007*102 科学计数法
无符号数:整个机器字长的全部二进制位均为数值位,没有符号位,相当于数的绝对值。
原码:
反码: 若符号位为0,则反码与原码相同。若符号位为1,则数值位全部取反
补码: 正数的补码=原码 负数的补码=反码末位+1 (要考虑进位), 将负数补码转回原码的方法相同:尾数取反,末位+1
移码: 补码的基础上将符号位取反。注意:移码只能用于表示整数
加减运算
了解模的概念,任何运算结果都是在(mod 2^8)后保留最低8位
移位运算
- 源码的算数位移:源码的算数移位符号 位保持不变,仅对数值位进行移位。 右移:高位补0, 低位舍弃。若舍弃的位=0,则相当于:2;若舍弃的位=!0,则会丢失精度
- 左移:高位补0, 低位舍弃。若舍弃的位=0,则相当于*2;若舍弃的位=!0,则会严重误差
- 反码的算数移位正数的反码与原码相同, 因此对正数反码的移位运算也和原码相同。 右移:高位补0,低位舍弃。 左移:低位补0,高位舍弃。 反码的算数移位负数的反码数值位与原 码相反,因此负数反码的移位运算规则如下, 右移:高位补1,低位舍弃。 左移:低位补1,高位舍弃。
- 补码的算数移位正数的补码与原码相同,因此对正数补码的移位运算也和原码相同。 右移:高位补0,低位舍弃。 左移:低位补0,高位舍弃。 补码的算数移位负数补码=反码末位+1导致反码最右边几个连续的1都因进位而变 为0,直到进位碰到第一 个伪止。 规律负数补码中,最右边的1及其右边.同原码。最右边的1的左边同反码负数补码的算数移位规则如下: 右移(同反码):高位补1,低位舍弃。 左移(同原码) :低位补0,高位舍弃。
j溢出判断
方法一:采用一位符号位设A的符号为As,B的符号为Bs,运算结果的符号为Ss,则溢出逻辑表达式为0
若V=0,表示无溢出; 若V=1,表示有溢出。
方法二
方法三
总结
浮点数规格化
浮点数加减