取一个数中的某些指定位怎样计算?

“如果有一个整数a(2个字节),想要其中的低字节,只需要将a与377按位与即可。
如果想要保留高字节,思考应该和谁按位与?”

请问为什么取低字节要和377按位与?求高字节又应该怎样算?

取低字节要和377按位与,因为377在二进制位上只有最低8位数字是1,其余都是0,所以a与377按位与后只保留了a的最低8位,其余位数被丢弃,也就是低字节保留了下来。

求高字节可以和65280按位与,因为65280在二进制位上,最高8位数字是1,其余都是0,所以a与65280按位与后只保留了a的最高8位,其余位数被丢弃,也就是高字节保留了下来。

如果是2个字节的数据
取低位和0x00FF与
取高位和0xFF00与

看看下面两篇就都懂了。
简单理解16进制:
https://blog.csdn.net/denton88/article/details/128974119
简单理解位运算:位与&、位或|、位非~、异或^、左移<<、右移>>:
https://blog.csdn.net/denton88/article/details/129001464

是哪个在扯淡告诉你这样算的?

377是8进制吗,如果是8进制那就对了
如果是16进制,应该是ff才对
或者直接强制类型转换成byte(或者char),那么就只剩1个字节了
如果需要高字节,那应该先右移8位,再和ff做与运算,或者强制转换成byte