当前位置:编程学习 > C/C++ >>

C语言进制转换10进制转2进制

把十进制的54转化成二进制的 并输出结果。

这程序怎么写。

答案:顺便把其他进制转换也给你吧。

//十进制数转换成二进制数字
void fun_1(int n)
{
if(n<2)
cout<<n;
if(n>=2)
{
fun_1(n/2);
cout<<n%2;
}
}

//十进制数字转换成八进制数字
void fun_2(int n)
{
if(n<8)
cout<<n;
if(n>=8)
{
fun_2(n/8);
cout<<n%8;
}
}

//十进制数转换成十六进制数字
void fun_3(int n)
{
switch(n)
{
case 10: cout<<"A"; break;
case 11: cout<<"B"; break;
case 12: cout<<"C"; break;
case 13: cout<<"D"; break;
case 14: cout<<"E"; break;
case 15: cout<<"F"; break;
default: cout<<n;
}
}

void fun_4(int n)
{
if(n<16)
fun_3(n);
if(n>=16)
{
fun_4(n/16);
fun_3(n%16);
}
}

//主函数
void main()
{
int n;
cout<<"请输入n的值: "<<endl;
cin>>n;
cout<<"十进制数字转换成二进制,八进制,十六进制数字结果如下:"<<endl;
fun_1(n);
cout<<endl; //输出结果换行
fun_2(n);
cout<<endl;
fun_4(n);
cout<<endl;
}

不能自已奈何明月照沟渠 主页博客相册|个人档案 |好友
查看文章
转 十进制转换二进制程序 2007-04-26 11:42

源代码如下:
#include <stdio.h>//将任何一个十进制正整数转换成二进制数并输出
#define M 16
#define N 16
int *change(int i);//返回值为一个指针变量的地址
int residue[N]={0};//设置一个全局变量
main()
{
int m,n,bin[M]={0},*p;
printf("Please input a Decimal integer: ");
scanf("%d",&m);
while(m>65535 || m<0)
{
printf("超出正整数界限,请重新输入: ");
scanf("%d",&m);
}
printf("The Decimal %d change Binary is: ",m);
p=change(m);
for(n=15;n>=0;n--)
{
printf("%d",*(p+n));
if(n==8) printf(" ");
}
printf("\n");
}
int *change(int j)
{
int k=0,quotient=1;//residue:余数 quotient:商
while(quotient!=0)
{
residue[k]=j%2;//求余后存入数组
quotient=j/2;//求商,直到商为0
j=quotient;
k++;
}
return (residue);
}
/*main()//上面是以函数形式配合指针传递地址的写法,下面是在整个主函数中完成转换
{int m,k=0,n,bin[M]={0},quotient=1;
printf("Please input a Decimal integer: ");
scanf("%d",&m);
printf("The Decimal %d change Binary is: ",m);
while(quotient!=0)
{
bin[k]=m%2;
quotient=m/2;
m=quotient;
k++;
}
for(n=15;n>=0;n--)
{
printf("%d",bin[n]);
if(n==8) printf(" ");
}
printf("\n");
}*/

除二取余

#include <stdio.h>

int main()
{
int a = 54;

int i=0;
int bin[32];

while(a>0)
{
bin[i]=a%2;
a/=2;
i++;
}
for(int j=i-1;j>=0;j--)
printf("%d",bin[j]);
}

www.stl.vc

上一个:C语言中要注意的格式有哪些?
下一个:C语言:任意算术表达式的求值

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,