Binary 当数字太大而不能形成两个';补语

Binary 当数字太大而不能形成两个';补语,binary,unsigned,subtraction,Binary,Unsigned,Subtraction,我学的是计算机架构,我的教授还没有给出一个令人满意的答案 假设我们有一个32位处理器,如果我们有两个无符号整数x和y,它们都大于231(因此它们太大,无法正确转换为2的补码形式),我们如何执行减法 如果减数是一个常量,我可以看到编译器如何在静态分析中补偿这个。但我们如何在运行时处理这种可能性,特别是在像C这样的静态编译语言中?这只是抛出溢出错误,还是某些架构subu支持特殊操作 我为MIPS找到的所有信息都表明,它只执行二的补码减法,但在这种情况下,这不应该起作用,是吗?您提出的情况不是问题。具

我学的是计算机架构,我的教授还没有给出一个令人满意的答案

假设我们有一个32位处理器,如果我们有两个无符号整数x和y,它们都大于231(因此它们太大,无法正确转换为2的补码形式),我们如何执行减法

如果减数是一个常量,我可以看到编译器如何在静态分析中补偿这个。但我们如何在运行时处理这种可能性,特别是在像C这样的静态编译语言中?这只是抛出溢出错误,还是某些架构
subu
支持特殊操作


我为MIPS找到的所有信息都表明,它只执行二的补码减法,但在这种情况下,这不应该起作用,是吗?

您提出的情况不是问题。具体示例:

  0xFFFFFFFF -  0xFFFF0000
= 0xFFFFFFFF + -0xFFFF0000
= 0xFFFFFFFF +  0x00010000
= 0x0000FFFF

你提出的情况不是问题。具体示例:

  0xFFFFFFFF -  0xFFFF0000
= 0xFFFFFFFF + -0xFFFF0000
= 0xFFFFFFFF +  0x00010000
= 0x0000FFFF

不知怎的,我把我的减法在纸上搞砸了,因为我得到了不同的结果。但这也是我的想法+不知怎的,我把我的减法在纸上搞砸了,因为我得到了不同的结果。但这也是我的想法+1.