int 和 long 都是 c++ 中的整型类型,主要区别在于范围和存储空间:范围:int 为 32 位整数,范围为 [-2^31, 2^31-1];long 为 64 位整数,范围为 [-2^63, 2^63-1]。存储空间:int 通常占用 4 个字节,long 通常占用 8 个字节。
C++ 中 int 和 long 的区别
int 和 long 是 C++ 中表示整型数字的两种数据类型。它们的主要区别在于范围和存储空间:
范围:
- int:32 位有符号整数,范围为 [-2^31, 2^31-1]
- long:64 位有符号整数,范围为 [-2^63, 2^63-1]
存储空间:
- int:通常占用 4 个字节
- long:通常占用 8 个字节
其他区别:
- 后缀:通常,int 类型使用后缀 "i",而 long 类型使用后缀 "l"。
- 默认值:默认情况下,int 的值为 0,而 long 的值为 0L。
- 类型转换:当将 int 类型转换为 long 类型时,不会发生数据丢失。但是,当将 long 类型转换为 int 类型时,超出 int 类型范围的数字将被截断。
什么时候使用 int 或 long?
一般情况下,当数字预计在 int 类型的范围内时,使用 int 类型。当数字可能超出 int 类型的范围时,或者需要处理更大的数字时,使用 long 类型。
示例:
- int 类型:用于存储年龄、分数、计数等小整数。
- long 类型:用于存储人口、余额、大数组的索引等大整数。