什么是1LL或2LL C和C ++?(What is 1LL or 2LL in C and C++

2019-09-01 06:11发布

我一直在寻找一些在谷歌编程挑战的解决方案,而有些人用这个东西,我以前从未见过。 例如,

2LL*r+1LL

什么是2LL和1LL是什么意思?

它们包括如下所示:

#include <math.h>
#include <algorithm>
#define _USE_MATH_DEFINES

要么

#include <cmath>

Answer 1:

LL使得整数文字类型的long long

所以2LL ,是类型的2 long long

如果没有LL ,文字只会类型的int

当你做这样的东西这一点很重要:

1   << 40
1LL << 40

只用字面1 ,(假设int为32位,你转移超出整数类型的大小- >未定义的行为)。 随着1LL ,你的类型设置为long long的手之前,现在将正确地返回2 ^ 40。



文章来源: What is 1LL or 2LL in C and C++?