AtCoder Beginner Contest 237 A - Not Overflow
問題の要約
整数Nが与えられる。Nが-2^31以上かる2^31未満ならばYesを、そうでないならばNoを出力しろ
制約
-2^63<=N<2^63
入力
N
考え方
1,intやlong longでbit数を考えるのではなく、doubleで受け取りdoubleで考える。
2,後は単純なif文での条件分岐。
実際のプログラム
#include<iostream>
#include<cmath>
using namespace std;
const double max_num = pow(2,31);
const double min_num = -max_num;
int main(){
double N;
cin >> N;
if(min_num <= N && N < max_num){
cout << "Yes" << endl;
}else{
cout << "No" << endl;
}
return 0;
}