gpt4 book ai didi

c - 在哪里可以找到软乘法和除法算法?

转载 作者:太空狗 更新时间:2023-10-29 16:36:16 26 4
gpt4 key购买 nike

我正在研究没有硬件乘法和除法的微 Controller 。我需要为这些基本操作编写软件算法,以在紧凑的尺寸和效率之间取得很好的平衡。我的 C 编译器端口将使用这些算法,而不是 C 开发人员本身。

到目前为止,我的 google-fu 主要是关于这个主题的噪音。

谁能告诉我一些有用的信息?我可以使用加/减和转移指令。基于表查找的算法也可能对我有用,但我有点担心将这么多东西塞进编译器的后端......嗯,可以这么说。

最佳答案

这是一个简单的乘法算法:

  1. 从最右边的乘数开始。

  2. 如果乘数中的位是1,则加被乘数

  3. 将被乘数移动 1

  4. 移至乘数的下一位并返回第 2 步。

这是一个除法算法:

  1. 如果除数大于被除数,则停止。

  2. 当除数寄存器小于被除数寄存器时,左移。

  3. 将除数寄存器右移 1。

  4. 从被除数寄存器中减去除数寄存器,并将结果寄存器中与对除数寄存器完成的移位总数相对应的位更改为 1。

  5. 从第 1 步开始,除数寄存器保持原始状态。

当然,您需要检查除以 0,但它应该有效。

当然,这些算法仅适用于整数。

关于c - 在哪里可以找到软乘法和除法算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2390354/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com