谢,或者是有什么库的,告诉我!串口发来的数据是16进制的,如0x3d.
我要把他转换成10进制,然后处理数据。有什么方法,谢谢!
我要把他转换成10进制,然后处理数据。有什么方法,谢谢!
解决方案 »
- 关于图像叠加问题,值都有就是图叠加不上去
- MFC里的Rich Edit控件中如何隐藏插入符?
- 因为代码元素是只读的
- 字符串同名时如何处理好?
- 帮忙看一下这段程序的错误
- 极端算法求救!100分相送,不够再加;见者有份!
- UP都有分~奇怪::为修改屏保密码的按钮不见了!(Win2000Pro2)
- 每个人都会碰到的问题。
- 怎样进行数据传递?微软的MFC实在太烦人了。定义了那么多乱七八糟的东西干什么呢?来者有分,可以再加分。
- 哪里有<windows 核心编程>的配书代码下载???
- 急~~~~~~~~~~~~~请问~~~~我用vc6有时程序出错但是有不能停止,只有注销才能关闭!!!!请问是怎么回事~~~~
- 一个关于多线程的问题
char szTmp[64];
int iTmp;
sscanf(szTmp, "%X", &iTmp);2. 分别转换2个字符到10进制。
int i1, i2;
char ch1, ch2;
ch1 = szTmp[0];
if (ch1 >= '0' && ch1 <= '9') i1 = ch1 - '0';
else if (ch1 >= 'A' && ch1 <= 'F') i1 = ch1 - 'A' + 10;
else if (ch1 >= 'a' && ch1 <= 'f') i1 = ch1 - 'a' + 10;
else ch1 = 0;
// i2 从szTmp[1] 中取得
ch1 *= 10;
iTmp = i1 * 10 + i2;
用十进制把它输出不就行了吗?(我也是一知半解,给点意见了)v=0x3d;printf("%u",v);
下面摘自msdn.^_^/* ITOA.C: This program converts integers of various
* sizes to strings in various radixes.
*/#include <stdlib.h>
#include <stdio.h>void main( void )
{
char buffer[20];
int i = 3445;
long l = -344115L;
unsigned long ul = 1234567890UL; _itoa( i, buffer, 10 );
printf( "String of integer %d (radix 10): %s\n", i, buffer );
_itoa( i, buffer, 16 );
printf( "String of integer %d (radix 16): 0x%s\n", i, buffer );
_itoa( i, buffer, 2 );
printf( "String of integer %d (radix 2): %s\n", i, buffer ); _ltoa( l, buffer, 16 );
printf( "String of long int %ld (radix 16): 0x%s\n", l,
buffer ); _ultoa( ul, buffer, 16 );
printf( "String of unsigned long %lu (radix 16): 0x%s\n", ul,
buffer );
}
OutputString of integer 3445 (radix 10): 3445
String of integer 3445 (radix 16): 0xd75
String of integer 3445 (radix 2): 110101110101
String of long int -344115 (radix 16): 0xfffabfcd
String of unsigned long 1234567890 (radix 16): 0x499602d2
cstring lpstr
lpstr.format("%d",0x11);
int result=0;
for(i=0;i<nLen;i++)
{
temp=test[i]>64?(test[i]-55):(test[i]-48);
if(temp<0 || temp>15)
return 0;
result=result*16+temp;
}
sscanf("AABBCCDD","%x",&x);
int nSquareX(int x , int n)
{
if(x<0) return -1;
int Result = 1;
for(int i = 0 ; i < n ; i++)
Result *= x;
return Result;
}int StrHToInt( char *pStrH,int Len)
{
int Result = 0 ;
for(int i = 0,j = Len-1 ; i < Len ; i++,j--)
{
char temp[2]={0};
temp[0] = pStrH[j];
switch(temp[0]) {
case 'a':
case 'A':
Result += nSquareX(16,i) * 10;
break;
case 'b':
case 'B':
Result += nSquareX(16,i) * 11;
break;
case 'c':
case 'C':
Result += nSquareX(16,i) * 12;
break;
case 'd':
case 'D':
Result += nSquareX(16,i) * 13;
break;
case 'e':
case 'E':
Result += nSquareX(16,i) * 14;
break;
case 'f':
case 'F':
Result += nSquareX(16,i) * 15;
break;
default:
if( pStrH[j] < 48 || pStrH[j] > 57)//非0-9的ascii码
{
return - 1;
}
else
{
Result += nSquareX(16,i) * atoi(temp);
}
break;
}
}
return Result;
}