【发布时间】:2011-08-04 09:57:43
【问题描述】:
我在计算机体系结构和我的教授。一直没能给出满意的答复。
假设我们有一个 32 位处理器,如果我们有两个无符号整数 x 和 y,它们都大于 231(以至于它们太大而无法正确转换为二进制补码形式)我们如何执行减法?
如果减数是一个常数,我可以看到编译器如何在静态分析中对此进行补偿。但是我们如何在运行时处理这种可能性,尤其是在像 C 这样的静态编译语言中?这只是抛出溢出错误还是某些架构subu 支持特殊操作?
我为 MIPS 找到的所有内容都表明它只是执行二进制补码减法,但这在这种情况下不应该工作,不是吗?
【问题讨论】:
标签: binary unsigned subtraction