int n,ans[1000],i=0,anw=0;
memset(ans,0,sizeof(ans));
scanf("%d",&n);
while(n>0){
if(n%2)
ans[i]=1;
i++;
n/=2;
}//将十进制数n转为二进制数
for(int j=i-1;j>=0;j--){
anw=anw+ans[j]*pow(2,j);
}//二进制数转为十进制数
for(int j=0;j<i;j++){
anw=anw+ans[j]*pow(2,i-j-1);
}//将二进制数翻转,再转为十进制数
//如6为110,转为011等于3
十进制与二进制的转换(hdu5141)
最新推荐文章于 2021-05-17 20:31:07 发布