gpt4 book ai didi

c++ - 如何或或异或和内存块

转载 作者:行者123 更新时间:2023-11-30 19:23:30 25 4
gpt4 key购买 nike

我们有两个位图,例如位图1,位图2。两者都使用malloc初始化(相同的参数)。 Bitmap1 被赋值为 0010 0110,bitmap2 被赋值为 1000 0001。我们如何在位图之间进行 OR 运算以得到 1010 0111。另一方面,我们希望将 bitmap1 中相应条目中为 1 的位设置为 1。

我们不想使用某些方法,例如:

for(i=0;i<n;i++) bitmap1[i] ||= bitmap2[i];

因为这些方法比某些函数(例如 memset、memcpy)慢。任何指导都会有用。编程语言是C/C++

最佳答案

您可以直接使用按位orxor命令。

or_result = 位图 1 |位图2

xor_result = 位图1 ^ 位图2

如果由于您定义 bitmap1 和 bitmap2 的方式而无法工作(不清楚,它是 structint 还是 char 或者一些不太有用的东西,比如数组,或者一些奇怪的东西,比如定义了 operator[] 的类?我们需要更多信息)那么你可能需要改变你的存储方式您的数据。

关于c++ - 如何或或异或和内存块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11362181/

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