谁有十进制转十六进制函数,共享一个吧。

[复制链接]
3397|10
 楼主| c555 发表于 2012-3-1 12:01 | 显示全部楼层 |阅读模式
如:将0x0120,转成十六进制,输出结果是0x78.
amwrdfe 发表于 2012-3-1 12:12 | 显示全部楼层
0x0120本身就是16进制。
有哪个编译器不会自动转换的?
还没见过那么笨的编译器...
suse-lj 发表于 2012-3-1 12:39 | 显示全部楼层
将0x0120 转换成十六进制数???这个我到不会
 楼主| c555 发表于 2012-3-1 12:42 | 显示全部楼层
在单片机内部,0x0120确实是一个十六进制,但是这个数,是通过按键输入到单片机的一个数,对与外界来说,是个十进制的数据。这个数据要传送到其他设备,其他设备是十六进制的,所以要将这个数转成十六进制。
大道至简 发表于 2012-3-2 08:55 | 显示全部楼层
windows自带的计算器就可以转换啊
yewuyi 发表于 2012-3-2 11:04 | 显示全部楼层
超低晕倒,这么点小事情也要求人?

对于C语言来说,完成这个就和上个厕所撒泡尿那么简单。。。
哲哲55 发表于 2012-3-2 11:10 | 显示全部楼层
超低晕倒,这么点小事情也要求人?

对于C语言来说,完成这个就和上个厕所撒泡尿那么简单。。。
yewuyi 发表于 2012-3-2 11:04

这是C语言完成的么?貌似是编译器支持的吧?
yewuyi 发表于 2012-3-2 11:24 | 显示全部楼层
这是C语言完成的么?貌似是编译器支持的吧?
哲哲55 发表于 2012-3-2 11:10


LZ要求的是一个函数。。。

这个函数完成将键盘输入的10进制数值转为16进制数值。
l0p0c 发表于 2012-3-2 11:32 | 显示全部楼层
你这是啥嘛。。。
 楼主| c555 发表于 2012-3-2 14:06 | 显示全部楼层
算了自己去研究吧,这个问题不是太难,但也不至于某人说的那么简单。结贴。
cjseng 发表于 2012-3-2 16:37 | 显示全部楼层
unint BCD2HEX(unint _Data)
{
unsigned int temp;
unsinged char a,b,c,d;

temp=_Data;
a=(temp&0xf000)>>12;
b=(temp&0xf00)>>8;
c=(temp&0xf0)>>4;
d=temp&0xf;
temp = a*1000 + b*100 + c*10 + d;
return(temp);
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

264

主题

556

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部