初级会员

- 积分
- 166
- 金钱
- 166
- 注册时间
- 2014-11-21
- 在线时间
- 10 小时
|
5金钱
我想把485接收到的上位机的十六进制数据转换成十进制进行计算,在网上找了个转换程序,但是转换出来之后还是按照十六进制进行计算的,代码如下:
u32 data_conversion(u32 data)
{
int re=0;
int k=16;
int n=1;
while(data != 0)
{
re += (data%10)*n;
data /= 10;
n *= k;
}
return re;
}
u8 data_buf[20];
u32 V=0;
u16 D=0,t=0;
velocity=(data_buf[8]<<24)+(data_buf[7]<<16)+(data_buf[6]<<8)+data_buf[5];
V=data_conversion(velocity);
distance=(data_buf[9]<<24)+(data_buf[10]<<16)+(data_buf[11]<<8)+data_buf[12];
D=data_conversion(distance);
speed=V/65535;
t=(300*D)/speed;
在watch窗口看的 V D t都是十六进制的,不是我想要的十进制,怎么回事
|
|