问题描述
对于16位处理器系统中的int数据类型,sizeof运算符将返回什么?
我认为这将是2个字节,因为这是可以在系统中表示的最大整数
解决方法
这个答案是关于C而不是C ++的。他们是两种不同的语言。它可能适用于C ++,也可能不适用于C ++。
标准关于大小的唯一说明是它至少应为16位。它与硬件无关。编译器可以在32位系统上使用16位整数。硬件没有规定。出于明显的原因,编译器构造函数通常会针对某些硬件进行优化,但这不是必需的。
一个int应该能够保存[-32767,32767]范围内的所有值,尽管它在使用两个补码表示法的16位系统上与[-3276 8 ,32767]相同。 ,几乎所有现代系统都可以。