进制转换方法神了

//方法一       用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);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值