从指针提取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为高字节。