一、计算机中数据的表示
- 能被硬件识别和执行的指令就是数据的表示。
1、有无符号数
(1)无符号数
(2)有符号数
(3)原码表示计算机内部数据
(4)原码表示法带来的问题
- 运算器的操作是很难操作的,加法是加法,减法是减法的,可以继续下面的看补码表示法,可以解决,加减法归一的问题。
(5)补码表示计算机内部数据(解决了加减归一问题)
- 这个会在后续的溢出的时候讲解
(6)反码表示计算机内部数据
(7)移码表示计算机内部数据
2、数的定点表示和浮点表示
(1)定点表示数值
(2)浮点表示数值
- 答案
- 浮点数的规格化
二、定点运算
1、补码的加减法
2、移位运算
(1)运算原则
(2)移位运算例子
(3)用java代码练习一下移位
public class Hello {
public static void main(String[] args) {
int a = -26;
System.out.println(a);
System.out.println("二进制:" + Integer.toBinaryString(a));
a = a << 1;
System.out.println(a);
System.out.println("二进制:" + Integer.toBinaryString(a));
a = a << 1;
System.out.println(a);
System.out.println("二进制:" + Integer.toBinaryString(a));
int b = -26;
System.out.println(b);
System.out.println("二进制:" + Integer.toBinaryString(b));
b = b >> 1;
System.out.println(b);
System.out.println("二进制:" + Integer.toBinaryString(b));
b = b >> 1;
System.out.println(b);
System.out.println("二进制:" + Integer.toBinaryString(b));
}
}
(4)算数移位的硬件实现
(5)算数移位和逻辑移位的区别
3、溢出判断
4、乘法运算
5、除法运算
(1)恢复余数法
(2)不恢复余数法【加减交替法】
三、浮点四则运算
1、浮点的减法运算
(1)对阶
(2)规格化
你看上面我们是有精度损失的,所以规格化可以提高数据的精度。
(3)舍入
(4)溢出判断(并不是位数的溢出判断)
四、算数逻辑单元
在计算机当(定点运算,符号运算和浮点运算的电路配置)其实刚讲的都是保存到了逻辑单元中,算数逻辑单元与控制器集成在一起后,叫做CPU。
1、ALU电路
2、快速进位电路
(1)并行进位链
(2)串行进位链
(3)串并进位细讲