Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 机器级别表示有符号整数和无符号整数_C++ - Fatal编程技术网

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类型应该是目标处理器处理效率最高的整

我这样说对吗

  • 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类型应该是目标处理器处理效率最高的整数类型。这允许很大的灵活性:例如,所有类型都可以是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
中使用。