当前位置:首页 » 编程语言 » c语言十进制转十六进制函数

c语言十进制转十六进制函数

发布时间: 2023-02-25 23:03:26

❶ 在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语言十进制转十六进制

其实根本不用这个的,输出函数printf有X是代表输出16进制的数,可以直接调用,那样就能将10进制变成16进制!例如:
#include <stdio.h>
main ()
{
int a;
scanf ("%d",&a);
printf ("%X",a);
}

❸ 用c语言编写函数,将输入的十进制数转换成十六进制数并输出

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmain(void){
unsignedn,i,k;
printf("Pleaseenterapositiveinteger... n=");
scanf("%d",&n);
printf("%d(10)=0x",n);
if(n){
for(i=0;(n&0xf0000000)==0;n<<=4,i++);
for(;i<8;i++){
k=n&0xf0000000;
(k>>=28)&=0x0f;
printf("%c",k<10?k+'0':k+0x37);
n<<=4;
}
}
elseprintf("0");
printf(" ");
return0;
}

❹ 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(" ");

}

程序运行结果:

(4)c语言十进制转十六进制函数扩展阅读:

进制转换由一组数码符号和两个基本因素“基数”与“位权”构成。基数是指,进位计数制中所采用的数码(数制中用来表示“量”的符号)的个数。位权是指,进位制中每一固定位置对应的单位值。

举例:二进制数转换为十进制数

二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……

所以,设有一个二进制数:0110 0100,转换为10进制为:

下面是竖式:

0110 0100 换算成十进制

第0位 0 * 20= 0

第1位 0 * 21= 0

第2位 1 * 22= 4

第3位 0 * 23= 0

第4位 0 * 24= 0

第5位 1 * 25= 32

第6位 1 * 26= 64

第7位 0 * 27= 0

公式:第N位2(N)

---------------------------

100

用横式计算为:

0 * 20+ 0 * 21+ 1 * 22+ 0 * 23+ 0 * 24+ 1 * 25+ 1* 26+ 0 * 27= 100

0乘以多少都是0,所以我们也可以直接跳过值为0的位:

1 * 22+ 1 * 25+1*26= 100

❺ C语言十进制转十六进制数

C语言十进制转十六进制数的源代码如下:

#include<bits/stdc++.h>

using namespace std;

void IntZh0x(int n)

{int s=n%16;

if(n/16!=0) IntZh0x(n/16);

if(s>9)

{

if(s==15) cout<<"F";

else if(s==14) cout<<"E";

else if(s==13) cout<<"D";

else if(s==12) cout<<"C";

else if(s==11) cout<<"B";

else if(s==10) cout<<"A";

}

else cout<<s;

}

int main(){

int n;

cin>>n;

IntZh0x(n);

return 0;

}

(5)c语言十进制转十六进制函数扩展阅读

1、十六进制数转换成十进制数解,其值为各个位码乘以位权然后完全相加。

2、十六进制就是把 4 个二进制位组合为一位来表示,每一位有0b0000 ~ 0b1111 共 16 个值,用 0 ~ 9 再加上 A ~ F(或 a ~ f)表示,那么它自然就是逢十六进位,它本质上同二进制是一样的,是二进制的一种缩写形式。

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

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

程序运行结果:

(7)c语言十进制转十六进制函数扩展阅读

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

热点内容
phpqq验证 发布:2024-11-07 21:09:07 浏览:961
安卓忘记屏幕时间怎么办 发布:2024-11-07 20:46:08 浏览:180
酒店服务器异常怎么办 发布:2024-11-07 20:46:03 浏览:805
电视买什么牌的什么配置好 发布:2024-11-07 20:41:55 浏览:652
光遇安卓用什么拍视频比较好 发布:2024-11-07 20:23:02 浏览:991
华为云服务器搭建网站 发布:2024-11-07 20:22:39 浏览:251
手机刷安卓卡需要注意什么 发布:2024-11-07 20:21:09 浏览:23
块存储客户端 发布:2024-11-07 20:12:14 浏览:972
scratch打地鼠编程 发布:2024-11-07 20:06:41 浏览:211
微信存储空间里聊天记录删除 发布:2024-11-07 20:05:31 浏览:166