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

来源:百度知道 编辑:UC知道 时间:2024/05/25 07:23:37
多谢先~~~

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的来做。

要是用计算机编程可以直接调用装换函数,要是要写算法就用二进制转换法,八进制只要取二进制的3位,16进制取二进制的4位.

#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(&