web-dev-qa-db-ja.com

CおよびC ++の1LLまたは2LLとは何ですか?

私はGoogle Code Jamのソリューションのいくつかを見ていましたが、一部の人々はこれまで見たことのないこのことを使用しました。例えば、

2LL*r+1LL

2LLと1LLはどういう意味ですか?

それらのインクルードは次のようになります。

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

または

#include <cmath>
35
fersarr

LLは、long long型の整数リテラルを作成します。

2LLは、タイプlong longの2です。

LLがないと、リテラルはint型のみになります。

これは、次のようなことをしているときに重要です。

1   << 40
1LL << 40

リテラル1だけで(intを32ビットと仮定すると、整数型のサイズを超えてシフトする->未定義の動作)。 1LLを使用して、事前にタイプをlong longに設定すると、適切に2 ^ 40が返されます。

65
Kyurem