我有一个 16 位数字,例如0x789A,我想将 2 个最高有效位更改为10(设置最高位并清除第二高位)以结束0x989A.
我知道我可以使用设置第一位,n | 0x8000并且可以使用取消设置第二位(在 php 中),n & ~0x4000但是有没有办法10在一个操作中“转换”这两位而不影响较小的位?
同样,我有另一个 16 位数字,比如0xABCD我想将第一个字节的字节值更改为不同的十六进制值,例如5,我最终得到0x5BCD. 有没有办法使用按位运算设置字节?我什至不知道如何开始。