我有一个32位整数,我想把前10位设置为一个特定的数字。
工业工程
32位int是:

11101010101010110101100100010010

我希望前10位是123,也就是
0001111011

所以结果会是
00011110111010110101100100010010

有人知道我最简单的方法吗?我知道我们必须做些改变,但我不擅长,所以我不确定
谢谢您!

最佳答案

uint32_t result = (input & 0x3fffff) | (newval << 22);

0x3fffff屏蔽最高的10位(设置了最低的22位)。你必须把你的新值移到最高的10位22位。

08-17 15:35