内码对称
题目描述
C++中int型整数内码是一个32位的01序列,该01序列有些是对称的,有些是不对称的。对于给定的一个整数,在一些场合,需要判断其整数内码的对称性。这个事情要做好还非你不行呢。
输入
输入中含有一些整数n(0≤n〈2^32)。
输出
统计其中一共有多少个其内码对称的整数,输出之。
样例输入
0
1
2147483649
2
3
样例输出
2
代码
#include<stdio.h>
#include<string.h>
#include<math.h>
int
main()
{
unsigned
int
n;
int
sum=0;
unsigned
int
num[32];
int
flag,i;
while
(
scanf
(
"%u"
,&n)!=EOF)
{
flag=0;
if
(n==0)
sum++;
else
if
(n<32768+65536)
continue
;
else
{
for
(i=0;i<32;i++)
{
num[i]=n%2;
n/=2;
}
for
(i=0;i<16;i++)
{
if
(num[i]!=num[31-i])
{
flag=1;
break
;
}
}
if
(flag==0)
sum++;
}
}
printf
(
"%d\n"
,sum);
return
0;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· DeepSeek V3 两周使用总结
· 回顾我的软件开发经历(1)
· C#使用yield关键字提升迭代性能与效率
· 低成本高可用方案!Linux系统下SQL Server数据库镜像配置全流程详解
· 4. 使用sql查询excel内容