【发布时间】:2011-02-26 20:19:04
【问题描述】:
如果问题看起来很奇怪,我深表歉意。我正在调试我的代码,这似乎是问题所在,但我不确定。
谢谢!
【问题讨论】:
-
真正的问题是当/如果 unsigned int 中的值超出有符号 int 可以表示的范围时,您想要做什么。如果它在范围内,只需分配它就可以了。如果超出范围,则会给出未指定的结果,因此您可能需要先将其缩小到正确的范围,或者将其分配给更大的有符号类型。
-
未指定,实现定义(C99 6.3.1.3§3)。否则我同意,分配给更大的有符号整数是最简单的解决方案。
标签: c casting types int unsigned