数据的层次表示
一、进位计数法
二进制、十进制、十六进制
-
基数:每个数位所用到的不同符号的个数
位数:基数大的少,基数小的大
运算:基数大的情况多,基数小的情况少
计算机使用二进制:方便对应物理器件的状态
二、进制转换
-
任意进制与十进制
整数部分:除基取余
小数部分:乘基取整
-
二进制与八进制、十六进制
-
真值与机器数
三、定点数的表示和运算
-
无符号数:整个机器字长的全部二进制均为数值位,没有符号位
表示范围:取决于n位数:0~2n-1
-
🌟有符号数:0表示正数,1表示负数
如果有小数点:隐含存储(定点数:事先约定;浮点数:按规则浮动)
定点:
-
定点小数:
-
定点正数:
位数扩展,整数在数值前面补0,小数在最后补0
-
-
🌟原码
符号位+数值位的绝对值
-
🌟补码
化简加减运算:两个有符号数的可以直接相加
正数:与原码相同
负数:取反加一
-
🌟反码
正数不变,负数取反
-
🌟移码
用于比较
在真值上加一个常数(偏移值),通常取2n
符号位与补码符号位相反,数值位相同
-
🌟移位运算
n进制:数字右移n位:➗rn,数字左移n位:*rn
机器数采用无符号数:逻辑移位,左移:高位丢,低位添;右移相反
算术移位:原码左右都补0
循环移位:
-
🌟加减运算
基本思路:转化为两个补码相加
相反数:补码取反+1
-
符号扩展
-
🌟溢出判断
正溢出、负溢出:溢出会跳转到另一端
-