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

在C++中,int、long 和 long long 是常用的整数类型,它们的取值范围依赖于编译器和操作系统架构(如32位或64位)。虽然C++标准没有规定这些类型的精确大小,但规定了最小位宽和取值范围。以下是常见平台(特别是x86-64架构下的主流编译器,如GCC、Clang、MSVC)的实际表现。
int 通常为32位(4字节),表示范围如下:
这是大多数现代系统上的常见情况。C++标准只要求 int 至少16位,但在几乎所有平台上都是32位。
long 的大小在不同平台上有所不同:
立即学习“C++免费学习笔记(深入)”;
因此,long 的大小是平台相关的,不能跨平台假设其大小。
long long 是C++11引入的类型,保证至少64位,在所有主流平台上均为64位:
这个类型适合需要大整数运算的场景,比如处理时间戳、大计数器或算法题中的大数值。
可以使用 sizeof 运算符和 limits 头文件来查看具体平台下的范围:
#include <iostream>
#include <climits>
#include <limits>
int main() {
    std::cout << "int: " << sizeof(int) << " bytes\n";
    std::cout << "Range: " << INT_MIN << " to " << INT_MAX << "\n";
    std::cout << "long: " << sizeof(long) << " bytes\n";
    std::cout << "Range: " << LONG_MIN << " to " << LONG_MAX << "\n";
    std::cout << "long long: " << sizeof(long long) << " bytes\n";
    std::cout << "Range: " << 
        std::numeric_limits<long long>::min() << " to " <<
        std::numeric_limits<long long>::max() << "\n";
    return 0;
}
基本上就这些。如果你需要可移植性更强的类型,推荐使用 <cstdint> 中的固定宽度类型,如 int32_t、int64_t 等。
以上就是c++++中int、long、long long的范围_c++整数类型取值范围说明的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
 
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号