我有一个32位整数,我想把前10位设置为一个特定的数字。
工业工程
32位int是:
11101010101010110101100100010010
我希望前10位是123,也就是
0001111011
所以结果会是
00011110111010110101100100010010
有人知道我最简单的方法吗?我知道我们必须做些改变,但我不擅长,所以我不确定
谢谢您!
最佳答案
uint32_t result = (input & 0x3fffff) | (newval << 22);
0x3fffff
屏蔽最高的10位(设置了最低的22位)。你必须把你的新值移到最高的10位22位。