gpt4 book ai didi

c - 内部工作大于/小于

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

我只是想知道大于/小于的结果是如何计算并返回给高级语言的。

我在这里寻找硬件门模型。

让我们用一个统一的例子来解释,比如说5 > 3。

最佳答案

它通常通过带有进位检测的减法来实现。

从门控的角度来看,减法是通过将每个操作数中匹配的位对传递给减法器来执行的:

            +-----+
carry_in -->| |
| |--> a_minus_b
a -->| SUB |
| |--> carry_out
b -->| |
+-----+

a_minus_b = carry_in ⊕ a ⊕ b
carry_out = (carry_in ∧ b) ∨ (¬a ∧ (carry_in ∨ b))

参数的位 0 ab通过第一个减法器,carry_in 为 0。每个参数的位 1 通过第二个减法器,carry_in 设置为 bit-0 阶段的 carry_out。这继续沿着链向下直到最后的 carry_out 设置 CPU 的进位标志,如果 a < b,则该标志为 1,否则为 0。

此外,每个 a_minus_b 都进行或运算并取反,结果进入 CPU 的零标志,表示 a = b。

这些标志可以通过机器指令进行测试,机器指令是在您编写 if (a < b) { ... } 时由编译器生成的.

我将 5 > 3 作为读者的练习。

关于c - 内部工作大于/小于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4296884/

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