現在,我有我怎樣才能在沒有警告的情況下設置一個很長的長號碼?
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)'中有** 3個**位置可以添加'll';你只試過其中兩個。 –