计组上机3 ALU:整数加减乘除运算

文章目录

    • programming-03 *整数除法
        • 整数加法
        • 整数减法
        • 整数乘法
        • 整数除法

programming-03 *整数除法

整数加法

我的方法没有利用全加器,模拟手算过程用最基础的进位方法算的。
计组上机3 ALU:整数加减乘除运算_第1张图片
全加器的实现
计组上机3 ALU:整数加减乘除运算_第2张图片

在这里插入图片描述

整数减法

取补码即可:注意可以利用“逐位取反到某一位为1停止”
计组上机3 ALU:整数加减乘除运算_第3张图片

整数乘法

计组上机3 ALU:整数加减乘除运算_第4张图片
不算很难,主要是先加减再右移的操作,不要漏了某一步。
计组上机3 ALU:整数加减乘除运算_第5张图片

整数除法

计组上机3 ALU:整数加减乘除运算_第6张图片计组上机3 ALU:整数加减乘除运算_第7张图片
1、对0和溢出的特殊处理
计组上机3 ALU:整数加减乘除运算_第8张图片
-2^32 / -1 = -2 ^ 32
2、进行过程计算计组上机3 ALU:整数加减乘除运算_第9张图片
计组上机3 ALU:整数加减乘除运算_第10张图片
计组上机3 ALU:整数加减乘除运算_第11张图片
难点:在所有处理完后修补除法的bug:判断余数和除数的绝对值是否相等
(我之前在过程中判断余数是否为0,但这样比较浪费计算机资源)
计组上机3 ALU:整数加减乘除运算_第12张图片

你可能感兴趣的:(计算机组织与结构,java)