将十进制数223转换成响应的二进制,八进制和十六进制,并写出详细的转换过程

多谢先~~~... 多谢先~~~ 展开
 我来答
拖着牛跑
2007-06-18
知道答主
回答量:37
采纳率:0%
帮助的人:24.1万
展开全部
223/2=111余1
111/2=55余1
55/2=27余1
27/2=13余1
13/2=6余1
6/2=3余0
3/2=1余1
1/2=0余1
所以2进制为11011111
换8进制011011111(补足一位最高位0),3位一换011=3,111为7所以8进制为337
也可以同样用223/8取余类转2进制。
换16进制的4位一换1101=D(13),1111=F(15)所以为DF
也可以用类似转2的来做。
huatas
2007-06-18 · 超过23用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:66.4万
展开全部
要是用计算机编程可以直接调用装换函数,要是要写算法就用二进制转换法,八进制只要取二进制的3位,16进制取二进制的4位.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fcwenmingxing
2007-06-23 · TA获得超过224个赞
知道小有建树答主
回答量:317
采纳率:0%
帮助的人:219万
展开全部
#include<stdio.h>
void main()
{
int i,j=1;
void ten_two(),ten_eight(),ten_sixteen(),
two_ten(),eight_ten(),sixteen_ten(),p();
do
{
printf("please choose:\n1. 10-->2\n2. 10-->8\n3. 10-->16\n4. 2-->10\n5. 8-->10\n6. 16-->10\n");
scanf("%d",&i);
switch(i)
{
case 1: ten_two();break;
case 2: ten_eight();break;
case 3: ten_sixteen();break;
case 4: two_ten();break;
case 5: eight_ten();break;
case 6: sixteen_ten();break;
default: printf("error\n");j=0;
}
} while(j==0);
}

void ten_two()
{
int a,j=0,two[16];
p();
scanf("%d",&a);
while(a!=0)
{j++;two[j]=a%2;a=a/2;}
for(;j!=0;j--)
printf("%d",two[j]);
putchar('\n');
}

void ten_eight()
{
int a;
p();
scanf("%d",&a);
printf("%o\n",a);
}

void ten_sixteen()
{
int a;
p();
scanf("%d",&a);
printf("%x\n",a);
}

void two_ten()
{
int two[16],j=1,i=1,b=1,k;
long a;
p();
scanf("%d",&a);
for(;a!=0;j++)
{
two[j]=a%10;a=a/10;
}
for(k=1;k<j;k++)
{
a=a+two[k]*b;
b=b*2;
}
printf("%d\n",a);
}

void eight_ten()
{
int a;
p();
scanf("%o",&a);
printf("%d\n",a);
}
void sixteen_ten()
{
int a;
p();
scanf("%x",&a);
printf("%d\n",a);
}

void p()
{printf("please input anumber:\n");}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式