C语言转换十六进制为十进制形式的字符串,有如下内容.
unsigned char a = 0x02; unsigned char b = 0xa0;
我需要转换成十进制形式,理应应该先16转10吧,然后转成字符串.最后我要得到的形式是.
unsigned char a = "2"; unsigned char b = "160";
如何转换呢,在嵌入式系统,不是printf这些输出.
c 嵌入式
不知道你说的是不是BCD码输出,如果想把数值按照十六进制输出时得到的是十进制的结果不妨做如下运算:
unsigned char a = 0x02; unsigned char b = 0xa0; unsigned int baiwei = 0;//用于保存b的BCD码的百位 unsigned int shiwei = 0;//用于保存b的BCD码的十位 unsigned int gewei = 0;//用于保存b的BCD码的个位 unsigned int c = 0;//用于保存BCD码 baiwei = b / 100; shiwei = (b % 100) / 10; gewei = b % 10; c = (baiwei << 16) + (shiwei << 8) + gewei;
函数指针在声明的时候形式就已经定死了,有什么方法能使中断服务可以灵活地执行不同形式的外部函数?
同一个应用在不同的平台(CPU是同一家厂商的,型号也不是相差太大)上性能差异不同,可能是哪些因...
log10使用什么算法实现?
同一应用在PC和嵌入式设备上运行的效果不一致,说说大家遇到的这种状况
PIC开发环境MPLAB IDE 的程序里#if defined中定义的宏到底在那里?
内核kfifo.c中in和out的问题【已解决】