您的位置 首页 编程知识

c++中int、long、long long的范围_c++整数类型取值范围说明

int通常为32位,范围-2147483648到2147483647;long在Windows上为32位,在L…


int通常为32位,范围-2147483648到2147483647;long在Windows上为32位,在Linux/macOS上为64位;long long保证至少64位,范围-9223372036854775808到9223372036854775807。

c++中int、long、long long的范围_c++整数类型取值范围说明

在C++中,intlonglong long 是常用的整数类型,它们的取值范围依赖于编译器和架构(如32位或64位)。虽然C++标准没有规定这些类型的精确大小,但规定了最小位宽和取值范围。以下是常见平台(特别是x86-64架构下的主流编译器,如GCC、Clang、MSVC)的实际表现。

int 的取值范围

int 通常为32位(4),表示范围如下:

  • 有符号 int(signed int):从 -2,147,483,648 到 2,147,483,647(即 -2³¹ 到 2³¹-1)
  • 无符号 int(unsigned int):从 0 到 4,294,967,295(即 0 到 2³²-1)

这是大多数现代系统上的常见情况。C++标准只要求 int 至少16位,但在几乎所有平台上都是32位。

long 的取值范围

long 的大小在不同平台上有所不同:

立即学习“”;

  • 在 Windows(包括64位)上:long 通常是32位,与 int 相同,范围是 -2,147,483,648 到 2,147,483,647
  • 在 Linux/OS(64位)上:long 是64位(8字节),范围是 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807(即 -2⁶³ 到 2⁶³-1)

因此,long 的大小是平台相关的,不能跨平台假设其大小。

百度大模型语义搜索体验中心

c++中int、long、long long的范围_c++整数类型取值范围说明22

long long 的取值范围

long long 是C++11引入的类型,保证至少64位,在所有主流平台上均为64位:

  • 有符号 long long:-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
  • 无符号 long long:0 到 18,446,744,073,709,551,615

这个类型适合需要大整数运算的场景,比如处理时间戳、大计数器或算法题中的大数值。

如何确认实际大小?

可以使用 sizeof 运算符和 limits 头文件来查看具体平台下的范围:

 #include <iostream> #include <climits> #include <limits>  int main() {     std::cout << "int: " << sizeof(int) << " bytesn";     std::cout << "Range: " << INT_MIN << " to " << INT_MAX << "n";      std::cout << "long: " << sizeof(long) << " bytesn";     std::cout << "Range: " << LONG_MIN << " to " << LONG_MAX << "n";      std::cout << "long long: " << sizeof(long long) << " bytesn";     std::cout << "Range: " <<          std::numeric_limits<long long>::min() << " to " <<         std::numeric_limits<long long>::max() << "n";      return 0; } 
登录后复制

基本上就这些。如果你需要可移植性更强的类型,推荐使用 <cstdint> 中的固定宽度类型,如 int32_tint64_t 等。

以上就是++中int、long、long long的范围_c++整数类型取值范围说明的详细内容,更多请关注php中文网其它相关文章!

相关标签:

大家都在看:

本文来自网络,不代表四平甲倪网络网站制作专家立场,转载请注明出处:http://www.elephantgpt.cn/15609.html

作者: nijia

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

18844404989

在线咨询: QQ交谈

邮箱: 641522856@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部