C++ 机器级别表示有符号整数和无符号整数
我这样说对吗C++ 机器级别表示有符号整数和无符号整数,c++,C++,我这样说对吗 unsigned int的变量取整个32位表示一个非负整数,使用2的补码。所以它可以容纳的整数范围是从0到(2^32)-1 int的变量取整个32位表示一个整数,使用2的补码。所以它可以容纳的整数范围是从-(2^31)到(2^31)-1 e、 我要说的是,在字长为32位的机器中。大多数情况下可能是这样。然而,C标准只要求int是一个大小至少为16位的有符号整数,unsigned int是一个大小至少为16位的无符号整数 见: 特别是: int类型应该是目标处理器处理效率最高的整
的变量取整个32位表示一个非负整数,使用2的补码。所以它可以容纳的整数范围是从0到(2^32)-1unsigned int
的变量取整个32位表示一个整数,使用2的补码。所以它可以容纳的整数范围是从-(2^31)到(2^31)-1int
e、 我要说的是,在字长为32位的机器中。大多数情况下可能是这样。然而,C标准只要求
int
是一个大小至少为16位的有符号整数,unsigned int
是一个大小至少为16位的无符号整数
见:
特别是:
int类型应该是目标处理器处理效率最高的整数类型。这允许很大的灵活性:例如,所有类型都可以是64位的。然而,几种不同的整数宽度方案(数据模型)很流行。这是因为数据模型定义了不同程序的通信方式,在给定的操作系统应用程序接口中使用统一的数据模型
大多数时候可能都是这样。然而,C标准只要求
int
是一个大小至少为16位的有符号整数,unsigned int
是一个大小至少为16位的无符号整数
见:
特别是:
int类型应该是目标处理器处理效率最高的整数类型。这允许很大的灵活性:例如,所有类型都可以是64位的。然而,几种不同的整数宽度方案(数据模型)很流行。这是因为数据模型定义了不同程序的通信方式,在给定的操作系统应用程序接口中使用统一的数据模型
这两个都不正确。如果体系结构中int为32位,则正确?Unsigned不使用2的补码编码。不需要。
signed int
可以是符号和大小,一个补码或两个补码signed int
不必是32位,但即使是32位,也不是所有的32位都必须是整数的值。因此,也不是所有的位都必须在unsigned int
中使用。这两者都不正确。在您的体系结构中,int是32位是正确的吗?unsigned不使用2的补码编码。不需要。signed int
可以是符号和大小,一个补码或两个补码signed int
不必是32位,但即使是32位,也不是所有的32位都必须是整数的值。因此,也不是所有的位都必须在unsigned int
中使用。