c++中int、 long int、long long int的取值范围

 更新时间:2026年08月26日 08:33:32   作者:bu_shuo  
本文主要介绍了c++中int、 long int、long long int的取值范围,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

问题描述

在刷Leetcode或者牛客网的过程中, 题目的描述中经常会限制数据的取值范围, 所以在编写代码的过程中非常有必要注意, 否则选择不合适的变量类型将无法通过部分测试案例.

cpp中一些变量的取值范围

#include <iostream>
#include <climits>
using namespace std;

int main() {
    cout << "=== C++ 整数类型取值范围 ===" << endl;

    cout << "int:                " << INT_MIN << " ~ " << INT_MAX << endl;
    cout << "unsigned int:       0 ~ " << UINT_MAX << endl;
    cout << "long int:           " << LONG_MIN << " ~ " << LONG_MAX << endl;
    cout << "unsigned long int:  0 ~ " << ULONG_MAX << endl;
    cout << "long long int:      " << LLONG_MIN << " ~ " << LLONG_MAX << endl;
    cout << "unsigned long long: 0 ~ " << ULLONG_MAX << endl;

    cout << "\n=== 各类型占用字节数 ===" << endl;
    // table键对齐.
    cout << "int:                " << sizeof(int) << " bytes" << endl;
    cout << "unsigned int:       " << sizeof(unsigned int) << " bytes" << endl;
    cout << "long int:           " << sizeof(long int) << " bytes" << endl;
    cout << "unsigned long int:  " << sizeof(unsigned long int) << " bytes" << endl;
    cout << "long long int:      " << sizeof(long long int) << " bytes" << endl;
    cout << "unsigned long long: " << sizeof(unsigned long long) << " bytes" << endl;

    return 0;
}

程序运行结果

=== C++ 整数类型取值范围 ===
int:                -2147483648 ~ 2147483647
unsigned int:       0 ~ 4294967295
long int:           -9223372036854775808 ~ 9223372036854775807
unsigned long int:  0 ~ 18446744073709551615
long long int:      -9223372036854775808 ~ 9223372036854775807
unsigned long long: 0 ~ 18446744073709551615

=== 各类型占用字节数 ===
int:                4 bytes
unsigned int:       4 bytes
long int:           8 bytes
unsigned long int:  8 bytes
long long int:      8 bytes
unsigned long long: 8 bytes

常见输出结果(64位系统下)

类型字节数取值范围
int4-2,147,483,648 ~ 2,147,483,647 (2.1*10^9)
unsigned int40 ~ 4,294,967,295
long int4 或 8取决于平台(Windows 4字节, Linux 8字节)
unsigned long int4 或 8取决于平台
long long int8-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
unsigned long long80 ~ 18,446,744,073,709,551,615

关键知识点

  • int 和 long int 在 Windows 下都是 4 字节,但在 Linux 64位下 long int 是 8 字节,这是跨平台开发时容易踩坑的地方。
  • long long int 是 C++11 标准明确保证至少 8 字节的类型,如果需要跨平台使用 64 位整数,推荐直接使用 long long。
  • <climits> 中的宏常量(如 INT_MAX、LLONG_MIN)是最可靠的获取方式,避免手动计算溢出边界。

结论

一般情况下, 使用int类型已经足够了.

到此这篇关于c++中int、 long int、long long int的取值范围的文章就介绍到这了,更多相关c++ int、 long int、long long int取值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++ decltype类型说明符

    C++ decltype类型说明符

    在C++中,decltype作为操作符,用于查询表达式的数据类型。decltype在C++11标准制定时引入,主要是为泛型编程而设计,以解决泛型编程中,由于有些类型由模板参数决定,而难以(甚至不可能)表示之的问题。
    2016-03-03
  • C++ NFS挂载及挂载命令

    C++ NFS挂载及挂载命令

    这篇文章主要介绍了C++ NFS挂载,文中给大家提到了挂载NFS时常用的命令,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • C/C++实现线性单链表的示例代码

    C/C++实现线性单链表的示例代码

    使用链存储结构的线性存储结构为线性单链表,本文将分别利用C语言和C++实现线性单链表,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-05-05
  • C++交换指针实例

    C++交换指针实例

    这篇文章主要介绍了C++交换指针实例,针对C与C++交换指针的方法进行了较为详细的对比分析,非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • C语言中计算二叉树的宽度的两种方式

    C语言中计算二叉树的宽度的两种方式

    这篇文章主要介绍了C语言中计算二叉树的宽度的两种方式的相关资料,需要的朋友可以参考下
    2017-04-04
  • C/C++实现MD5校验学习

    C/C++实现MD5校验学习

    MD5全程Message-Digest Algorithm 5,即消息摘要算法第五版,是属于hash算法的一种,本文主要介绍了如何在C++中实现MD5校验,需要的可以了解下
    2024-03-03
  • C语言结构数组实现贪吃蛇小游戏

    C语言结构数组实现贪吃蛇小游戏

    这篇文章主要为大家详细介绍了C语言结构数组实现贪吃蛇小游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • C语言数据的存储超详细讲解中篇练习

    C语言数据的存储超详细讲解中篇练习

    使用编程语言进行编程时,需要用到各种变量来存储各种信息。变量保留的是它所存储的值的内存位置。这意味着,当您创建一个变量时,就会在内存中保留一些空间。您可能需要存储各种数据类型的信息,操作系统会根据变量的数据类型,来分配内存和决定在保留内存中存储什么
    2022-04-04
  • C语言调用Python代码的方法

    C语言调用Python代码的方法

    这篇文章主要介绍了C语言调用Python代码的方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • C++实现简单职工信息管理系统

    C++实现简单职工信息管理系统

    本文给大家分享的是使用C++实现简单的职工信息管理系统的代码,本系统采用了面向对象的程序设计方法,所有的方法均以类为基础,感兴趣的小伙伴们可以参考一下
    2015-08-08

最新评论