2801: 【例44.3】 内码对称

内存限制:64 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:9 解决:5

题目描述

C++ 中 int 型整数内码是一个 32 位的 $01$ 序列,该 $01$ 序列有些是对称的,有些是不对称的。
对于给定的一个整数,在一些场合,需要判断其整数内码的对称性。

输入

输入中含有一个整数 $n$ 。

输出

如果 $n$内码对称,输出"YES",否则输出"NO"。

样例输入 复制

2147483646

样例输出 复制

YES

提示

#include<bits/stdc++.h>
using namespace std;
int n;
int main(){
    cin>>n;
    bitset<32> b(n);
    for(int i=0,j=31;i<j;i++,j--)
        if(b[i]!=b[j]) {
            cout<<"NO";
            return 0;
        }
    cout<<"YES";
    return 0;
}