概述
利用了while循环实现了交互的体验,日常使用和应付学校作业肯定是够的了,当然还可以继续优化下去,感兴趣的小伙伴可以试着优化一下算法。
#include "test.h"
void menu()
{
printf("********************************n");
printf("***1.十转二
2.二转十
0.退出***n");
printf("********************************n");
}
void sum1()
{
int x = 0;
int arr[32] = {0};
printf("请输入一个十进制数:");
scanf("%d", &x);
int i = 0;
//将余数放在数组当中
while (x)
{
arr[i] = x % 2;
x = x / 2;
i++;
}
printf("二进制:");
//倒序打印
for (i = i -1; i >= 0; i--)
{
printf("%d", arr[i]);
}
printf("n");
}
//如果输入的不是二进制数(待优化)
void sum2()
{
//二转十
int x = 0;
int i = 0;
int n = 0;
printf("请输入一个二进制数:");
scanf("%d", &n);
while (n)
{
x = x + (n % 10) * pow(2, i);
n = n / 10;
i++;
}
printf("十进制:%dn", x);
}
int main()
{
int a = 0;
do
{
menu();
printf("请输入:n");
scanf("%d", &a);
switch (a)
{
case 1: sum1();
break;
case 2: sum2();
break;
case 0:
break;
default:printf("输入有误,请重新输入:n");
break;
}
getchar();
} while (a);
printf("感谢使用!n");
return 0;
}
test.h文件
#include <stdio.h>
#include <math.h>
void menu();
void sum1();
void sum2();
最后
以上就是痴情心情为你收集整理的二进制与十进制的相互转换的全部内容,希望文章能够帮你解决二进制与十进制的相互转换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复