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

Python014

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

代码如下:

#include "stdio.h" 

int main() 

int num=0

int a[100] 

int i=0 

int m=0

int yushu 

char hex[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-1i>=0i--)//倒序输出 {

m=a[i]

printf("%c",hex[m]) 

printf("\n") 

}

程序运行结果:

扩展资料

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

参考资料:百度百科-十六进制

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

}

扩展资料

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

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