尽量不要在你的程序中使用无符号类型,以免增加不必要的复杂性,尤其不要仅仅因为无符号类型不存在负数(比如年龄)而使用它来表示数值。 尽量使用像int那样的有符号数,这样在涉及混合类型操作(比如比较有符号数和无符号数)的时候不必担心边界情况(比如-1会被提升为一个非常大的正数)。 只有在使用位段和二进制掩码的时候才使用无符号数。 如果要混合操作有符号数和无符号数,应在表达式中使用强制类型转换,使它们同时为有符号数或无符号数,这样,就不必由编译器来选择结果的类型。