mips - 非恢复除法算法 - 被除数小于除数
问题描述
我正在尝试使用非恢复除法算法将 10111110 除以 11000101。
请注意,除数小于除数。
按照我看过的教程中使用的流程图,我最终得到了一个(看似)荒谬的结果。我可能只是不知道如何正确解释我的结果。
希望帮助理解如何在这种情况下使用非恢复除法算法。
这是我使用流程图的尝试:
A = Q = 190 = 10111110 B = M = 197 = 11000101
Desc A Q N
Init 00000000 10111110 8
shl 00000001 01111100
A<A-M 00111100 01111100
Q0=1, N-1 00111100 01111101 7
shl 01111000 11111010
A<A-M 10110011 11111010
Q0=0, N-1 10110011 11111010 6
shl 01100111 11110101
A<A-M 10100010 11110101
Q0=0, N-1 10100010 11110100 5
shl 01000101 11101001
A<A-M 00110010 11101001
Q0=1, N-1 00110010 11101001 4
shl 01100101 11010010
A<A-M 10100000 11010010
Q0=0, N-1 10100000 11010010 3
shl 01000001 10100101
A<A-M 01111100 10100101
Q0=1, N-1 01111100 10100101 2
shl 11111001 01001010
A<A+M 10111110 01001010
Q0=0, N-1 10111110 01001010 1
shl 01111100 10010101
A<A-M 10110111 10010101
Q0=0, N-1 10110111 10010100 0
A<A+M 01111100 10010100
END
解决方案
您似乎忽略了部分余数和分母需要两倍于分子和商字宽的要求(参见非恢复除法),并且仅使用 8 位例如A
是看似荒谬的结果的原因。
推荐阅读
- javascript - 根据选择值过滤表编号行
- sql-server - 重新索引一个巨大的表只需要不到一分钟
- go - 多次插入不正确的参数
- php - 如何从数据库中检索数据并能够在 Summernote 编辑器中进行编辑?
- python - 使用模板匹配查找相似图像 Opencv
- swift - 在 Xcode Swift 中创建重复计时器的问题
- airflow - 无法在气流中的 DatabricksRunNowOperator 上创建额外的运算符链接
- python - 我可以将 Python“self”对象作为 c_void_p 传递给 C 函数并转换为原始类型以在回调中使用吗?
- javascript - 如何创建所有数组组合?
- git - 合并时文件在 GIT 中被删除