【发布时间】:2013-09-04 12:21:59
【问题描述】:
再一次,我正在教一门课,我可以回答学生关于 C 的问题。这是一个我不知道答案的问题:接受 signed 作为 C 的默认修饰符是否有理由?人们会认为unsigned 是自然选择。那么,这真的是一个设计决定吗?
【问题讨论】:
-
“基本原理”本身并不完全正确。对于普通的
char,并不总是signed。 -
为什么 unsigned int 会更自然?我认为大多数现实世界的问题都涉及正面和负面的价值。
-
@jxh 更重要的是,大多数现实世界的问题都处理 small 数字 - 即相对接近 0 的数字。我认为大多数人在大多数情况下更有可能需要低于(或至少接近)0 的数字,那么他们需要大于(或什至接近)MAX_INT 的数字。有符号数字的上限和下限都尽可能远离最常用的数字。