与十进制数677等值的十六进制数是。。。??怎么算啊??

 我来答
匿名用户
2013-07-19
展开全部
#include <stdio.h>
void ba();
void er();
void shiliu();
int num[50];
int i,shu;
int count = 0;

void main()
{
int chioce;
do
{
printf("\n0.退出、1.十进制--二进制、2.十进制--八进制、3.十进制--十六进制\n");
printf("选择的功能:");
scanf("%d",&chioce);
switch (chioce)
{
case 1: er();
break;
case 2: ba();
break;
case 3: shiliu();
break;
}

} while ( !chioce == 0);
printf("退出\n");
printf("\n");
}

void er()
{
count = 0;
printf("请输入一个十进制的数:");
scanf("%d",&shu);

do
{
num[count] = shu%2;
shu = shu/2;
count++;
}while (shu!=0);
printf("转换为二进制为:");
for (i = count - 1;i >= 0;i--)
{
printf("%d",num[i]);
}
printf("\n");
}

void ba()
{
count = 0;
printf("请输入一个十进制的数:");
scanf("%d",&shu);

do
{
num[count] = shu%8;
shu = shu/8;
count++;
}while (shu!=0);
printf("转换为八进制为:");
for (i = count - 1;i >= 0;i--)
{
printf("%d",num[i]);
}
printf("\n");

}
void shiliu()
{
count = 0;
printf("请输入一个十进制的数:");
scanf("%d",&shu);

do
{
num[count] = shu%16;
shu = shu/16;
count++;
}while (shu!=0);
printf("转换为十六进制为:");
for (i = count - 1;i >= 0;i--)
{
switch (num[i])
{
case 10:printf("A");
break;
case 11:printf("B");
break;
case 12:printf("C");
break;
case 13:printf("D");
break;
case 14:printf("E");
break;
case 15:printf("F");
break;
default:printf("%d",num[i]);
}

}
printf("\n");
}
颖火虫MM
推荐于2018-04-12
知道答主
回答量:6
采纳率:100%
帮助的人:8213
展开全部
677除以16得到2 10 5转换成十六进制就是2A5
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-19
展开全部
用667除以16余数做个位,商在除以16余数做第二位,以此循环知道商为零就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式