C++11新特性之long long超长整形

1.介绍

long long 超长整形是C++11标准新添加的,用于表示更大范围整数的类型。

2.用法

占用空间:至少64位(8个字节)。

对于有符号long long 整形,后缀用"LL"或"II"标识。例如,"10LL"就表示有符号超长整数10。其取值范围为-2^63~2^63-1。

对于无符号long long 整形,后缀用"ULL"、"ull"、"UII"、"uLL"标识。例如,"10ULL"就表示无符号超长整数10。其取值范围为0~2^64-1。

注意事项:C++11标准规定,每种整形类型必须同时具备有符号(signed)和无符号(unsigned)两种类型,且所占用的空间必须相同。并且,C++11标准只限制了每种类型的最少占用存储空间,不同平台可能占用不同的存储空间。

3.使用场景

(1)处理大整数。例如计算阶乘、斐波那契数列等可能产生大数值的算法中,普通的整形可可能会溢出, 使用long long 类型可以一定程度上避免这个问题。

(2)处理时间戳。时间戳通常是一个较大的整数,使用long long类型可以很好的满足需求。

4.总结

long long 类型为C++开发者提供了一种处理大整数的有效方式,但在使用时需要注意以下问题:

(1)溢出问题。long long 类型范围虽然很大,但仍然可能溢出,因此需要注意是否会溢出。

(2)性能问题。long long 类型需要更大的存储空间,在计算时比普通整数类型(如 int)稍微慢些,因此在对性能要求较高的场景中,需要权衡是否真的需要使用long long 类型。

相关推荐
java1234_小锋4 分钟前
一周学会Matplotlib3 Python 数据可视化-绘制自相关图
开发语言·python·信息可视化·matplotlib·matplotlib3
甄超锋6 分钟前
Java Maven更换国内源
java·开发语言·spring boot·spring·spring cloud·tomcat·maven
旺小仔.20 分钟前
双指针和codetop复习
数据结构·c++·算法
凢en37 分钟前
Perl——qw()函数
开发语言·perl
jingfeng51438 分钟前
C++ STL-string类底层实现
前端·c++·算法
郝学胜-神的一滴44 分钟前
基于C++的词法分析器:使用正则表达式的实现
开发语言·c++·程序人生·正则表达式·stl
努力努力再努力wz2 小时前
【c++深入系列】:万字详解模版(下)
java·c++·redis
林开落L2 小时前
库的制作与原理
linux·开发语言·动静态库·库的制作
m0_480502643 小时前
Rust 入门 泛型和特征-特征对象 (十四)
开发语言·后端·rust
瓦特what?3 小时前
关于C++的#include的超超超详细讲解
java·开发语言·数据结构·c++·算法·信息可视化·数据挖掘