如何解决从指针提取2个字节u_short
| 我有一个指针,我想将x到(x + 1)的字节分配给一个无符号的short。我希望我能(unsigned short) pointer[x]
但第一个字节似乎始终为空。但是当我分别检查字节x和x + 1的值时,数据就在那里了。
我在哪儿菜鸟? (我只是做了一个动词)
解决方法
unsigned short i = (pointer[x] << 8) + pointer[x+1]
假设您希望x是高位,x + 1是低位。实际上,您在这里也应该记住字节顺序。
编辑:
这也可能起作用:
*(unsigned short *) pointer[x]
但是,这将受字节序的影响,例如,在小字节序中,第一个字节为低8位,而x + 1为高字节。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。