ycb123 发表于 2009-6-1 10:39:24

请教:VC++中如何实现十六进制转换为十进制?如1A转为26

请教:VC++中如何实现十六进制转换为十进制?如1A转为26

zxq6 发表于 2009-6-1 10:46:48

0x1A不就等于26的么?还要转换干嘛呢。

ycb123 发表于 2009-6-1 10:47:22

自己顶一下

ycb123 发表于 2009-6-1 10:49:03

谢谢一楼提醒,我再想想

ycb123 发表于 2009-6-1 11:20:23

一楼在吗?

mcu5i51 发表于 2009-6-1 11:24:13

是不是把十六进制字符串转换为对应的数字呀

zxq6 发表于 2009-6-1 11:25:05

在,有事?

ycb123 发表于 2009-6-1 11:25:36

是的,还能指点一下,

ycb123 发表于 2009-6-1 11:27:46

我问的就是5楼描述的意思。1楼和5楼的朋友还能指点小弟一下。

fugeone 发表于 2009-6-1 11:31:16

估计是16进制数字转换为10进制字符串吧

fugeone 发表于 2009-6-1 11:31:35

用CString.Format吧

ycb123 发表于 2009-6-1 11:32:04

我做上位机和温控仪通信,根据温控仪的协议。我读到的温度值,是@011R00,001A   我现在想把001A转为26显示
一下是协议对001A的解释:
通讯数据[⑾这位的数据量决定于这位的数据,既这位的数据长度不定]。数据总是以”,”(2CH)开头,数据项与数据项之间不需要任何分割符。数据的长度主要取决于第⑽的方式。每一个数据项由16位二进制代码组成(1个字),每4位被分成一个数据单元,同时每个数据单元又被转换成ASCII数据。当⑸位为        ”W”写命令时,此位不用。

ycb123 发表于 2009-6-1 11:43:06

001A这一个数据项由16位二进制代码组成(1个字),每4位被分成一个数据单元,同时每个数据单元又被转换成ASCII数据。
就是说 16位二进制中,高八位被转换成ASCII数据00 ,低八位被转换成ASCII数据1A. 而温控仪显示的温度是26度。
又如0100表示温控仪显示的温度是256度

ycb123 发表于 2009-6-1 11:44:58

请问5楼还在?我觉得就是你说的这个意思。还能指点小弟

zxq6 发表于 2009-6-1 11:53:13

我常使用c的库函数,itoa,你也可以试试,包含stdlib.h文件即可。

ycb123 发表于 2009-6-1 11:59:50

谢谢楼上
页: [1]
查看完整版本: 请教:VC++中如何实现十六进制转换为十进制?如1A转为26