东北联赛上有一道题,数据范围是2^60,当时不记得long long的范围,于是写了一个程序试了一下,把队友带入了一个大数的大坑QAQ(蠢哭)。

当时写的代码是这样的:

 1 #include<iostream>
 2 
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     long long x=1<<60;
 8     cout<<x<<endl;
 9     return 0;
10 }

程序输出0。

于是我就把队友带入了大数的大坑一去不回QAQ。

后来发现1和60都是int类型的,应该加上一个强制类型转换QAQ。好蠢好蠢。

下面的才是正确的代码:

 1 #include<iostream>
 2 
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     long long x=(long long)1<<60;
 8     cout<<x<<endl;
 9     return 0;
10 }

希望以后不要犯这么蠢的错误了QAQ。

 

相关文章:

  • 2022-01-13
  • 2022-02-10
  • 2021-08-24
  • 2021-09-30
  • 2022-01-11
  • 2021-06-08
  • 2022-01-10
猜你喜欢
  • 2021-09-07
  • 2021-11-26
  • 2021-12-17
  • 2021-07-31
  • 2022-12-23
  • 2021-12-12
相关资源
相似解决方案