最近我决定大量阅读计算机科学书籍,以更好地为未来做准备。
目前我正在阅读关于有符号数转换为无符号数的内容。我理解了大部分内容(希望它最终变得更容易),但是在以下问题上遇到了困难(在32位中):
-2147483647-1U < -2147483647
根据书中的说法,这个式子的结果为true。有一点让我仍然感到困惑,因为我不知道为什么会得到这个结果。
根据我的理解,在这个计算中,由于第一个数字被强制转换成无符号类型,所以它们都被转换成无符号值。因此,在减法运算后,第一个数字变成了-2147483648,然后被转换成无符号数,或者说无符号转换是在减法之前发生的吗?
对于篇幅冗长的帖子,非常抱歉,我只是试图理解这个问题。
谢谢!