C语言编程
各位大虾你们好,我是一个新手,现在有一道用C语言编程实现的题目遇到点困难。题目是用C语言编程实现二进制和十进制值之间的转换。编程要求:任意输入一整数,输出对应的二进制数值,或者任意输入一二进制数值,输出对应的十进制整数。
希望各位高手给点参考。急……!!!
----------------解决方案--------------------------------------------------------
#include "stdio.h"
int N(int x)
{
int a[100];
int i,j;
for(i=0;x!=0;i++)
{
a[i]=x%2;
x=x/2;
}
for(j=i-1;j>=0;j--)
{
printf("%d",a[j]);
}
}
void main()
{
int x;
scanf("%d",&x);
N(x);
}
这个是十进制转化成二进制的
----------------解决方案--------------------------------------------------------
进制之间的转化就是利用数学的方法算出来的
用数组做能较容易解
----------------解决方案--------------------------------------------------------
/*十进制转二进制*/
#include<stdio.h>
void tobits(int);
int main(void)
{
int n;
printf("输入一个整数:");
scanf("%d",&n);
tobits(n);
printf("\n");
return 0;
}
void tobits(int n)
{
int i;
char bits[8*sizeof(int)];
for(i=8*sizeof(int)-1;i>=0; i--,n>>=1)
bits[i]=(01&n)+'0';
bits[8*sizeof(int)]='\0';
puts(bits);
}
----------------解决方案--------------------------------------------------------