拆分十六进制数

Dan*_*iel 4 c

新手问题.

比如说,我有十六进制数0xABCDEF,我怎么把它分成0xAB,0xCD和0xEF?是这样的吗?

unsigned int number = 0xABCDEF
unsigned int ef = a & 0x000011;
unsigned int cd = (a>>8) & 0x000011;
unsigned int ab = (a>>16) & 0x000011;
Run Code Online (Sandbox Code Playgroud)

谢谢

sim*_*onc 13

使用0xff为您的掩模,移除了一些,但所有8位:

unsigned int number = 0xABCDEF
unsigned int ef = number & 0xff;
unsigned int cd = (number>>8) & 0xff;
unsigned int ab = (number>>16) & 0xff;
Run Code Online (Sandbox Code Playgroud)