如何将DWORD转换为十六进制



我搜索了很多,没有发现任何有用的东西。如果有人知道,请分享知识。

问题:我有一个DWORD"-476053499〃;我想把它转换成十六进制(例如XX XX XX XX(。

DWORD只是32位无符号整数(例如unsigned intuint32_t(的typedef。注意,它是";无符号";,所以我不确定这对你的-476053499价值有何影响

您没有指定哪种语言,但将DWORD转换为十六进制字符串很容易实现,就像在C:中这样

DWORD dwValue = (DWORD)(-476053499);
char szHexString[20];
sprintf(szHexString, "%X");  // use %x if you want lowercase hex

等价于C++:

DWORD dwValue = (DWORD)(-476053499);
std::ostringstream ss;
ss << std::hex << dwValue;
std::string s = ss.str();

如果您的原始值实际上是一个字符串,而不是DWORD,那么将其转换为数字只需:

const char* s = "-476053499";
DWORD value = (DWORD)atoi(s);

最新更新