C语言中的二进制十进制八进制十六进制都是怎么转化的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中的二进制十进制八进制十六进制都是怎么转化的?相关的知识,希望对你有一定的参考价值。

参考技术A /**
程序功能:求二进制,十进制,八进制
创建人:蒲宇林
创建日期:2007年8月13日
**/
#include
<stdio.h>
void
two();
void
eight();
void
sixteen();
/**主函数**/
void
main()

int
select;
do

printf("0
-
退出,1
-
十进制转二进制,2
-
十进制转八进制,3
-
十进制转十六进制");
scanf("%d",&select);
switch(select)

case
1
:
two();
break;
//十进制转二进制
case
2
:
eight();
break;
//十进制转八进制
case
3
:
sixteen();
break;
//十进制转十六进制
default
:
printf("您的输入有误,请重新输入!");
break;

if(select
==
0)

break;

while(1);

void
two()

int
num,
i;
int
arr[20];
printf("\n请输入一个十进制数:");
scanf("%d",&num);
for(
i
=
0
;
1
;
i++)
//转换为二进制并存入数组

arr[i]
=
num
%
2;
num
=
num
/
2;
if(num
==
0)

break;


printf("转换为二进制:");
//打印
for(;
i
>=
0
;
i--
)

printf("%d",arr[i]);

printf("\n");

void
eight()

int
num,
i;
int
arr[20];
printf("\n请输入一个十进制数:");
scanf("%d",&num);
for(
i
=
0
;
1
;
i++)
//转换为八进制并存入数组

arr[i]
=
num
%
8;
num
=
num
/
8;
if(num
==
0)

break;


printf("转换为八进制:");
//打印
for(;
i
>=
0
;
i--
)

printf("%d",arr[i]);

printf("\n");

void
sixteen()

int
num,
i;
int
arr[20];
printf("\n请输入一个十进制数:");
scanf("%d",&num);
for(
i
=
0
;
1
;
i++)
//转换为二进制并存入数组

arr[i]
=
num
%
16;
num
=
num
/
16;
if(num
==
0)

break;


printf("转换为十六进制:");
//打印
for(;
i
>=
0
;
i--
)

switch(arr[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",arr[i]);


printf("\n");

以上是关于C语言中的二进制十进制八进制十六进制都是怎么转化的?的主要内容,如果未能解决你的问题,请参考以下文章

十进制转化二进制,c语言用调用函数

C语言 将十进制数转化为二进制数 程序代码

c语言十六进制字符转化成十进制数字问题

C#中16进制转化

C语言将ip地址的二进制形式转化为十进制的形式

C语言编程:怎么把一个十进制数转换成为一个十六进制数?