所以我正在做这个普林斯顿挑战(不,这不是我的功课,我也不在大学)我在下一页“http://www.cs.princeton.edu”遇到了一个模糊的界限/courses/archive/fall10/cos126/assignments/lfsr.html“,该行正好位于管道的第一张图片下方。
对于每个像素(x,y),按顺序 (0,0),(0,1),(0,2),......,提取 红色,绿色和蓝色的组成部分 颜色(每个组件是一个 0到255之间的整数)。然后,xor 红色组件有8个新组件 生成的比特。做同样的事情 绿色(使用另外8个新生成的 比特),最后是蓝色。创建一个 使用xor的结果的新颜色 操作,并将像素设置为 颜色。
我不太确定在3次操作之后如何创建新颜色,因为xor操作只会产生true或false值。
答案 0 :(得分:7)
不,您正在使用另一个 8位值对 8位颜色分量值进行测量,其行如下:
1010 1010
xor 1111 0000
---- ----
0101 1010
虽然单个xor
对两位进行操作以产生另一位,但对多位值执行该操作意味着依次对每个位进行操作。
另见this answer。
答案 1 :(得分:0)
布尔(逻辑)操作中的xor仅返回true或false,但您也可以使用按位xor。在这种情况下,数字中的每个位(在这种情况下为8位值)被视为布尔值。这导致8个新位为真或假,从而返回新的8位值。其中三个合并将给你一个rgb值。
答案 2 :(得分:0)
我认为它是按位XOR,你将颜色转换为二进制,然后对每个数字进行异或运算以得到结果。例如00001111 XOR 11111111 = 11110000
答案 3 :(得分:0)
因为xor操作只会产生true或false值。
你的陈述是不真实的。例如:
1110 xor 1001 = 0111
有关详细信息,请参阅:http://en.wikipedia.org/wiki/Bitwise_operation#XOR
答案 4 :(得分:0)
我不太确定新颜色的含义 在3次操作后创建, 因为xor操作只会 产生真或假值。
在这种情况下,xor逐位操作。所以结果是1或0,但每个单位。
1111 1111 xor
1010 1010 =
0101 0101
答案 5 :(得分:0)
作业指的是bitwise operations。