今、私はどのように私は警告なしで巨大な数に長くロングを設定するのですか?
long long x = 1 << 60;
cout << x << endl;
を持っていると私は長い長いの範囲は2^64
までのすべての方法であることを知っているが、私は、コードの一部を実行し、いくつかの理由で、それは私にその警告を与えます「left shift count >= width of type [-Wshift-count-overflow].
」
さらに、0
がスクリーンに印刷されていますが、これは明らかに私が望むものではありません。
私はそれの後に文字通り「LL」を入れてみましたが、私はそれを置くべき場所私は知らない。誰がどのように私に教えてもらえ
long long x = (1 << 60)ll;
long long x = (1 << 60ll);
と、それらのどれも
働くんこれを修正しますか?前もって感謝します!
正しいリテラルのタイプを使用しますhttp://en.cppreference.com/wを/ cpp/language/integer_literal –
@NeilButterworth私はそれを試みたが、どこに置くべきか... 60年後? 1?かっこの後ろに? –
あなたは多かれ少なかれランダムに試しているように見えるので、 '(1 << 60)'に 'll'を加えることができる** 3つの**場所があることに注意してください。あなたは2つだけ試しました。 –