乐闻世界logo
搜索文章和话题

What range of values can integer types store in C++?

6 个月前提问
5 个月前修改
浏览次数35

1个答案

1

在C++中,整数类型可以存储的值的范围取决于该类型的大小(即占用的位数)以及它是有符号的还是无符号的。以下是C++中常见的整数类型及其范围:

  1. int:

    • 通常是32位(但在某些系统上可能是16位或更大)
    • 有符号的int类型的范围大约是 -2,147,483,648 到 2,147,483,647
    • 无符号的unsigned int类型的范围是 0 到 4,294,967,295
  2. short (short int):

    • 通常是16位
    • 有符号的short类型的范围是 -32,768 到 32,767
    • 无符号的unsigned short类型的范围是 0 到 65,535
  3. long (long int):

    • 在大多数现代系统上是至少32位,很多系统上是64位
    • 有符号的long类型在32位系统上的范围是 -2,147,483,648 到 2,147,483,647,在64位系统上的范围是 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
    • 无符号的unsigned long类型在32位系统上的范围是 0 到 4,294,967,295,在64位系统上的范围是 0 到 18,446,744,073,709,551,615
  4. long long (long long int):

    • 通常是64位
    • 有符号的long long类型的范围是 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
    • 无符号的unsigned long long类型的范围是 0 到 18,446,744,073,709,551,615

例如,如果您正在开发需要处理非常大数量的数据的应用程序,比如统计一个国家的所有居民的详细信息,您可能会选择使用 unsigned long long 类型,因为它可以提供足够大的范围来确保任何可能的人口数量都能被存储。

2024年6月29日 12:07 回复

你的答案