c语言十进制转换十六进制,c语言十进制转换十六进制代码

dfnjsfkhak 17 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言十进制转换问题,于是小编就整理了2个相关介绍c语言十进制转换十六进制的解答,让我们一起看看吧。

  1. 如何用c语言实现10进制转换成16进制?
  2. 将十进制数转换为十六进制数怎么做?

如何用c语言实现10进制转换成16进制?

根据10进制转换为16进制的规则,编写C语言程序将10进制数转换为16进制数。具体实现方法可参考如下程序

#include<stdio.h>void main(){ int i, x; // x表示欲转换的10进制数 int data[10], index=0; // data数组存放转换后的16进制数,index表示下标 scanf("%d", &x)

c语言十进制转换十六进制,c语言十进制转换十六进制代码-第1张图片-芜湖力博教育咨询公司
图片来源网络,侵删)

; // 接受欲转换的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("\n");}

c语言十进制转换十六进制,c语言十进制转换十六进制代码-第2张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

将十进制数转换为十六进制数做?

将10进制数转换成16进制数,就是将被转换的10进制数除16,得到的商为16进制数的高位数,余数为16进制的个位数,如果余数是0到9,则直接放在个位,如果余数是大于9小余16,则应分别依次用字母A,B,C,D,E,F代替,放在个位。例如:十进制123转换成十六进制就应该是123÷16=7…11,十六进制数为7B。

一.十进制转换十六进制

若十进制数23785转为十六进制,则用 23785/16=1486余............9, 1486/16=92余……14, 92/16=5余………….12,

c语言十进制转换十六进制,c语言十进制转换十六进制代码-第3张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

5/16=0余……………..5,十六进制中,10对应为a、11对应为b、。。。。。。、15对应为f,再将余数倒写为5ce9,则十进制23785=十六进制5ce9。

二.十六进制转换十进制

十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方。

所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。

***设有一个十六进数 2AF5:

用竖式计算: 2AF5换算成10进制:

第0位: 5 * 16^0 = 5

到此,以上就是小编对于c语言十进制转换十六进制的问题就介绍到这了,希望介绍关于c语言十进制转换十六进制的2点解答对大家有用

标签: 进制 十六进制 十进制