//方法一 用itoa函数
#include<stdio.h>
//这函数太神了,进制转换直接秒过
#include<stdlib.h>
#include<malloc.h>
//貌似错了还是不能用?
int main()
{
__int64 n;
while(scanf("%I64d",&n)!=EOF)
{
char a[100000];
printf("%s\n",itoa(n,a,2));
}
return 0;
}
//方法一 用itoa函数
#include<stdio.h> //这函数太他妈的神了,进制转换直接秒过
#include<stdlib.h>
int main( )
{
__int64 n;
while(scanf("%I64d",&n)!=EOF)
{
char a[10000];
printf("%s\n",itoa(n,a,2));
}
return 0;
}
//方法二 用位运算
#include<stdio.h>
int main( )
{
int n;
while(scanf("%d",&n)!=EOF)
{
int i,a[100]={0};
for(i=0;n>>1 || n==1;n>>=1,i++)
///n右移一位
{
if(n & 1)
a[i]=1;
else
a[i]=0;
}
while(i>0)
printf("%d",a[--i]);
printf("\n");
}
return 0;
}
//方法三 常规进制转换法
#include<iostream>
using namespace std;
int main()
{
int n,s;
char a[1000];
while(cin>>n)
{
int i=0;
while(n)
{
s=n%2;
n=n/2;
a[i]=s+48;
i++;
}
for(s=0;s<i;s++)
cout<<a[i-s-1];
cout<<endl;
}
return(0);
}
进制转换方法神了
最新推荐文章于 2023-01-08 12:27:44 发布