关于无符号数减法的问题

我怎么觉得无符号数的减法运算用补码好像不对呀,看我下面的运算哪里有问题比如两个8位的无符号数234和11相减,原码分别是(1110_1010)、(0000_1011),按照补码的运算法则变成:(234-11)补=(234)补+(-11)补=(1001_0110)+(1111_0101)=(1000_1011),再把(1000_1011)变成原码(1111_0101)=245,而正确的结果应该是223啊,这是怎么回事。
2026年09月26日 15:37
有2个网友回答
网友(1):

我怎么觉得无符号数的减法运算用补码好像不对呀,...
--无符号数的减法运算用补码,当然不对。

--只有带符号数,才有补码。

--无符号数的减法,直接相减即可,不用补码。

====
比如两个8位的无符号数234和11相减,原码分别是(...
--234,怎么可能有8位的原码?

--8位的原码,只能表示:-127~+127。

网友(2):

朋友,你搞错了。正数的补码:与原码相同。也就是说234的补码就是(1110_1010),
而11的原码 :(0000_1011) 补码:就是反码+1,反码:(1111_0100) 补码:(1111_0101)
也就是说(-11)的原码就是(1111_0101) ,然后用234的原码+(-11)的原码,即(1110_1010)+(1111_0101) 结果是:11011111。换算成10进制就是223啊。还有问题吗?