C语言中字符串与十进制的互相转换
假设我有一个数6325,为了实现通讯,我要把这个数转换成一个两字节的字符串,请问该如何转换?
反过来我现在已知两字节的字符串,该如何得到十进制呢?
------解决方案--------------------
两个字节? 这个是要求?
如果没有字节限制可以直接用sprintf
#include "stdio.h"
int main(void)
{
int test = 6325;
char result[5] = {0};
sprintf(result, "%d", test);
printf("result is %s\n", result);
}
------解决方案--------------------
调用atoi就行了,实现也很简单。 书上就有
------解决方案--------------------
引用:Quote: 引用:两个字节? 这个是要求?
如果没有字节限制可以直接用sprintf
是的,协议里要求两个字节,对于unsigned short十进制转字符串,我一个想法是先转成二进制,然后高八位一个字节,低八位一个字节。
unsigned short 内部表示就是两个字节,
但是不是字符串,要定长,就转换为16进制字符串4个字节。
否则直接转换为10进制大概5个字节以内不定长。
直接库函数的话&