当前位置:首页 » 编程语言 » c语言0210怎么转16进制
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言0210怎么转16进制

发布时间: 2023-06-13 16:24:12

⑴ 在c语言中如何将10进制转换成16进制

根据10进制转换为16进制的规则,编写C语言程序将10进制数转换为16进制数。


具体实现方法可参考如下程序:

#include<stdio.h>
voidmain()
{
inti,x;//x表示欲转换的10进制数
intdata[10],index=0;//data数组存放转换后的16进制数,index表示下标
scanf("%d",&x);//接受欲转换的10进制数
for(i=0;i<10;i++)//对数组data进行初始赋值操作
data[i]=0;
printf("%d对应的16进制为:",x);
//反复相除取余,并将余数存放在data数组中
while(x>0)
{
data[index]=x%16;
x=x/16;
index++;
}
//逆序输出data数组中的元素,即为10进制数对应的16进制数
for(i=index-1;i>=0;i--)
printf("%d",data[i]);
printf(" ");
}

⑵ c语言怎么把10进制转换为16进制

没明白你的意思
1,将10进制数除以16,余数是16进制数的第一位,再用商除以16,余数是第二位,这么循环下去,直到商小于16。如,100/16=6---4,6小于16;所以十进制100对应的16进制是64;
2,c语言中将整型数以十或者16进制的格式输出
具体请看以下代码
#include<stdio.h>
int main(void)
{
int a=0x67,b=100;
printf("%d\n%#x",a,b);
return 0;
}
这会输出103
0x64
以上两个答案有你想要的吗?

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

第一种:用来糊弄老师的,输入一个数采用16进制格式输出
#include <stdio.h>

int main()
{
int num = 0;

scanf("%d", &num);
printf("%x", num);

return 0;
}

第二种:
#include <stdio.h>
#include <string.h>

char oNumTable[6] = {'A', 'B', 'C', 'D', 'E', 'F'};
void dToO(int, char*);

int main()
{
int dNum;
char oNum[100] = {0};

//输入一个十进制数
scanf("%d", &dNum);

//调用转换函数,将十进制转换成以字符串表示的十六进制
dToO(dNum, oNum);

//输出以字符串表示的16进制数据
printf("%s\n", oNum);

return 0;
}

void dToO(int dNum, char* oNum)
{
char temp[100] = {0};

for (int i = 0; (dNum) && (i < 100) ; i++) {
temp[i] = (dNum % 16);
if (temp[i] > 9) {
temp[i] = oNumTable[temp[i] - 10];
}
else{
temp[i] += '0';
}
dNum /= 16;
}

char* p = temp;
while (*(p+1)) p++;

for (int i = 0; p != temp - 1; i++, p--) {
oNum[i] = *p;
}
}

⑷ 求c语言将十进制数转换为16进制的函数

c语言将十进制数转换为16进制的函数:

#include<stdio.h>

main()
{
int u10;
char u16[10];
int w=0,a,b,i;

printf("请输入一个数字-->");
scanf("%d",&u10);
if(u10==0)
{
u16[0]='0';
w++;
}
else
{
a=u10;
while(a)
{
b=a%16;
if(b<10)
{
u16[w]='0'+b;
}
else
{
u16[w]='A'+b-10;
}
a=a/16;
w++;
}
}
printf(" ");
printf("%d(10)转换为16进制数字为:",u10);
for(i=w-1;i>=0;i--)
{
printf("%c",u16[i]);
}
printf(" ");
}

(4)c语言0210怎么转16进制扩展阅读:

十进制数转换为二进制数方法

十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。

1. 十进制整数转换为二进制整数 十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

2.十进制小数转换为二进制小数

十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。

然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

⑸ c语言 十进制转换为十六进制

#include <stdio.h>
#include <string.h>
#include <math.h>
void string2int(int *a,char dec[][30],int);

int main() {
int num=0,num2,hh[60];
int k,l,n=0;
char str[60][30];
printf("输入样例个数:");
scanf("%d",&k);

for(l=0;l<k;l++)
scanf("%d",hh+l);
string2int(hh,str,k);
for(n=0;n<k;n++){
k=strlen(str[n]);
for(l=k-1;l>=0;l--)
printf("%c",str[n][l]);
printf("\n");
}
return 0;
}

void string2int(int *h,char dec[][30],int len) {
int i ;
int p = 0;
int num=0;
char tmp,n[16]=

{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
for(i=0;i<len;i++){
do{
num=h[i]%16;
tmp=n[num];
dec[i][p]=tmp;
p++;
h[i]/=16;
}while(h[i]);
dec[i][p]='\0';
}
}

⑹ 在c语言中用最简单的方法把十进制转化为十六进制

代码如下:

#include"stdio.h"
intmain()
{
intnum=0;
inta[100];
inti=0;
intm=0;
intyushu;
charhex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
printf("请输入一个十进制整数:");
scanf("%d",&num);
while(num>0)
{
yushu=num%16;
a[i++]=yushu;
num=num/16;
}
printf("转化为十六进制的数为:0x");
for(i=i-1;i>=0;i--)//倒序输出{
m=a[i];
printf("%c",hex[m]);
}
printf(" ");
}

程序运行结果:

(6)c语言0210怎么转16进制扩展阅读

C语言中,十进制转换十六进制,可以先输入十进制整数,然后去拼十六进制,十六进制由数字 0~9、字母 A~F 或 a~f(不区分大小写)组成,使用时必须以0x或0X(不区分大小写)开头,只需把二进制除以16得到余数去上面定义的hex[16]数组进行取值接可以得到转换的数字。

⑺ 用C语言如何把十进制转换为十六进制,要求程序中运用函数

**
程序功能:求二进制,十进制,八进制
创建人:蒲宇林
创建日期:2007年8月13日
**/
#include

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");
}