我正在尝试将 double 转换为 little-Endian 十六进制字符串或直接转换为特定类型的 long(见下文)。
以前,我将预定义的 little-Endian 十六进制字符串转换为 long,如下所示。
string hcommand = "01AC";
char * p;
long n = strtol(hcommand.c_str(), &p, 16);
这按预期工作。
现在我正在尝试将 double 转换为 little-Endian(最低有效字节优先)形式的十六进制字符串(然后替换上面代码中的 hcommand)或直接从 double 转换为与上面看到的相同类型的 long。
我试过了,它的处理方式与上面不同。
double myDouble = 44033;
long hcommand = (long)_byteswap_ulong((int)myDouble);
谢谢你。