51单片机中C语言int能转换为字符串类型吗?怎么转换?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51单片机中C语言int能转换为字符串类型吗?怎么转换?相关的知识,希望对你有一定的参考价值。
因为是C51, 所以不能用 VC++里面的C语言代码 eg: itoa, 也不要用打印的 eg: sprintf为什么? 因为C51的内存太小 ,如果这样用非常占用资源. 下面的朋友回答就显得不够专业了.
所以, 一般我们是这样自己写代码使用实现的: 字符串改为数组的形式
unsigned char dat[5];
dat[4]=Num/10000+'0';
dat[3]=Num%10000/1000+'0';
dat[2]=Num%1000/100+'0';
dat[1]=Num%100/10+'0';
dat[0]=Num%10+'0' 参考技术A 使用编译器带的库,一般都有sprintf这个函数,sprintf(str, "%d", i); code会增加的有些多本回答被提问者采纳 参考技术B 用 itoa函数可以参考
/* itoa example */
#include <stdio.h>
#include <stdlib.h>
int main ()
int i;
char buffer [33];
printf ("Enter a number: ");
scanf ("%d",&i);
itoa (i,buffer,10); //转化为十进制
printf ("decimal: %s\n",buffer);
itoa (i,buffer,16); //转化为十六进制
printf ("hexadecimal: %s\n",buffer);
itoa (i,buffer,2); //转化为二进制
printf ("binary: %s\n",buffer);
return 0;
参考技术C unsigned int a;
unsigned char b;
b=(unsigned char)a; 参考技术D 你 char 一下不就好了。就是要注意值
C语言实现unsigned char 转换unsigned int?
希望能得到您自己亲身证实了的答案,谢谢 不借用其他函数转换 程序如下: void main(void) unsigned char a=0x11,b=0xFF; unsigned int c=0; c=(a<<8)|b; printf(">>:%x\n",c); 这样能实现吗? 我用在51单片机中
参考技术A 本质上char类型和int其实是同一种类型。。。都代表了整数型大小,转换的话,在前面加上强制转换符就好了,如int()之类的以上是关于51单片机中C语言int能转换为字符串类型吗?怎么转换?的主要内容,如果未能解决你的问题,请参考以下文章