jianhong_wu 发表于 2017-2-12 11:28:22

把负数赋值给无符号的数,比如0减1,会出现什么意想不到的结果?已解答。

友米-深圳:
刚发现一个有意思的问题。


为什么会是这样?


★坚鸿-深圳:
无符号数的特性。我在《……程序框架》讲过。0减去1可能等于0xff,或者可能等于0xffff,或者可能等于0xffffffff。所谓特性,就是游戏规则。对于无符号的负数,如果—1是0xffff,那么—2就是0xfffe,可以推算,—3就是0xfffd。是符合规律的。我在《……单片机基础》也举过这个例子。无符号的运算,就不能出现负数,一旦出现,就是溢出的出错了。



页: [1]
查看完整版本: 把负数赋值给无符号的数,比如0减1,会出现什么意想不到的结果?已解答。