gpt4 book ai didi

c++ - 将 8 位值掩码为 32 位值

转载 作者:太空宇宙 更新时间:2023-11-04 15:01:58 26 4
gpt4 key购买 nike

我有一个 8 位值,我想将其存储在现有的 32 位值中,同时只更新 8 位上的数据并保持其他 24 位与以前一样。

例如,我可能想将 0x01 (0x00000001) 存储到现有值 0x01000100 中,我希望结果为 0x01000101。

我的第一个想法是将 0xFFFFFF00 与我要存储的 8 位值进行或运算,使其成为 0xFFFFFFXX。然后我打算将它与 32 位值相加,但我意识到如果 32 位值的最后一个字节是 00 并且我想存储 01,那将不起作用。然后我想我会只使用我原来的 8 位值并将其直接或运算成 32 位值,但如果 32 位值中的最后一个字节是 01 而我想存储 00,那将不起作用。

我意识到这可能有点难以阅读,但基本上我想做的是将 0xXXXXXXXX 的 32 位值和 0xYY (0x000000YY) 的 8 位值合并为 0xXXXXXXYY

最佳答案

您非常接近:首先,通过与 0xFFFFFF00 进行“与”运算将目标 32 位值的最低字节归零,然后在您的 8 位值中进行“或”运算。

关于c++ - 将 8 位值掩码为 32 位值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32714397/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com