2024年4月12日二稿
2024年8月3日
2.1 数制与编码
2.1.1 进位计数制及其相互转换
2.1.2 定点数的编码表示
原码
原码表示
优点:
①与真值的对应关系简单、直观,与真值的转换简单;
②用原码实现乘除运算比较简便。
缺点:
①0的表示不唯一,有±0两个编码;
②原码加减运算比较复杂。在原码加减运算中,对于两个不同符号数的加法(或同符号数的减法),先要比较两个数的绝对值大小,然后用绝对值大的数减去绝对值小的数,最后还要为结果选择合适的符号。
在原码加减运算中,将符号位和数值位分开处理,具体的规则如下。
加法规则:遵循 “同号求和,异号求差” 的原则,先判断两个操作数的符号位。具体来说,符号位相同,则数值位相加,结果符号位不变,若最高数值位相加产生进位,则发生溢出;符号位不同,则做减法,绝对值大的数减去绝对值小的数,结果符号位与绝对值大的数相同。
减法规则:先将减数的符号取反,然后将被减数与符号取反后的减数按原码加法进行运算。
反码
反码表示存在以下几个方面的不足:
①0的表示不唯一(即存在±0);
②表示范围比补码少一个最小负数。反码在计算机中很少使用,通常用作数码变换的中间表示形式。
补码
变形补码
移码
比较
转换
真值转换为补码:
对于正数,与原码的方式一样。
对于负数,符号位取1,其余各位由真值“各位取反,末位加1”得到。
补码转换为真值:
若符号位为0,与原码的方式一样。
若符号位为1,真值的符号为负,数值部分各位由补码“各位取反,末位加1”得到。
2.1.3 整数的表示
2.1.4 C语言中的整数类型及类型转换
2.2 运算方法和运算电路
2.2.1 基本运算部件
2.2.2 定点数的移位运算
2.2.3 定点数的加减运算
2.2.4 定点数的乘除运算
1. 定点乘法运算
2.3 浮点数的表示与运算
2.3.1 浮点数的表示
2.3.2 浮点数的加减运算