C语言进制转换10进制转2进制
把十进制的54转化成二进制的 并输出结果。这程序怎么写。
把十进制的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;
}
|
除二取余
#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语言:任意算术表达式的求值