首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在int32变量中转换十六进制的字节表示

在int32变量中转换十六进制的字节表示
EN

Stack Overflow用户
提问于 2013-10-22 07:05:59
回答 1查看 614关注 0票数 0
代码语言:javascript
复制
char buffer[8];
memcpy(&buffer[0], "02000000", 8); //copy without '\0' 

如何将缓冲区中的字节解释为0x00000002,并将其放入int类型的变量中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-22 07:08:58

您将它变成一个字符串(使用终止的'\0'),并使用strtol来转换它。

字节交换整数很简单:

代码语言:javascript
复制
#define SWAP16(x)  (((x) & 0xff00) >> 8) | (((x) & 0x00ff) << 8)
#define SWAP32(x)  (SWAP16(((x) & 0xffff0000) >> 16)) | (SWAP16((x) & 0x0000ffff) << 16)

uint32_t value = SWAP32(strtol("02000000", NULL, 16));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19511247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档