1.定点数开篇
无符号数;整个机器字长的全部二进制位均为数值位,没用符号位,相当于数字的绝对值
表示范围2的n次方-1。
有符号数:
原码:用尾数表示真值的绝对值,符号位“0/1”对应“正/负”
若机器字长为n+1位,则尾数占n位。
原码:原码通常用来表示定点小数,用来表示浮点数的尾数。
原码就是用最高位来表示符号,符号位用0与1来表示正负,剩下的数表示数值。
缺点:0的表示并不唯一。4位二进制数的原码表示方法中,0即可以用1000表示,也可以用0000表示。
反码:正数不变,负数除了符号位全取反
补码:正数不变。负数,反码+1 计算机用补码来表示带符号整数。
移码:补码的基础上将符号位取反,移码和补码一一对应注意移码只能表示正数。
移码主要是用来表示定点整数,用于表示浮点数的阶(指数)
移码就是将每一个数值加上一个偏置常数( Excess / bias)。很方便用来比较大小。移码和补码的真值0只有一种表示,补码和移码可以多表示一个负数
EG:
2.移位问题
3.乘法的实现:
符号位 :异或运算
其余:按位计算
4.码的作用:
如果使用原码进行运算,就会很麻烦,这时候提出了加法替代减法
逆时针 减法
顺时针 加法
把减法操作变成加法操作
补码的作用:使用补码可以将剑法操作转变为等价的加法,符号位参与运算。
节省硬件成本
想知道为什么,研究一下模的运算
移码:真值+偏置值