标签: c bit-manipulation
假设long int是64位类型的环境,假设我有一个long int = 0x0123456789ABCDEF,我想得到代表89的字节。这条线是否有用?
long int
long int = 0x0123456789ABCDEF
n = (n >> (b << 3)) & 0xFF;
其中n是long int,b是我想要的字节。因此b将为3并且将其向左移动3将其乘以8将其更改为一个字节,因此移位应该看起来像这样0x0123456789。正在使用&amp; 0xFF正确的掩码方式来获取最后一个字节?
b
答案 0 :(得分:1)
是的,这是正确的做法。此online example on ideone.com按预期打印89。
89