algorithm - 异或和颜色反转?

标签 algorithm

什么是颜色反转算法?我们如何实现?

例如

Black->White
Blue->Yellow

最佳答案

你这样做:

RInv = 255 - R
GInv = 255 - G
BInv = 255 - B

这可以用异或来完成,如下所示:

RInv = R xor 255
GInv = G xor 255
BInv = B xor 255

xor 起作用是因为我们希望 R 和 RInv 的总和等于 255:

RInv = 255 - R
=> RInv  + R = 255

并且,由于二进制数上的 xor 是伽罗华域模 2 的加法,我们得到:

C = A xor B
=> C xor B = A xor B xor B = A
RInv = 255 xor R
RInv xor R = 255

关于algorithm - 异或和颜色反转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5552918/

相关文章:

java - 用模数求解Java中的方程

java - 用线程获取素数。如何划分区间?

algorithm - 选择均匀分布的点算法

algorithm - T(n) = T(n/2) + T(n/4) 使用迭代法求解这个递归

algorithm - 从边/线构造三角形的有效方法?

java - 您如何处理每个整数基数排序的位置?

java - 如何找到除自己的数组之外的字符串数组的排列?

algorithm - O(m+n) 和 O(mn) 之间的区别?

快速遍历大型二进制文件的算法

python - 简单的 Python 挑战 : Fastest Bitwise XOR on Data Buffers