Комментировать

поразрядное исключающее ИЛИ

Имеется пример редукции(сложения) массива с участком кода:

  1. for ( i = 0; n >= BLOCK_SIZE; n /= (2*BLOCK_SIZE), i++ ){
  2.         dim3 dimBlock (BLOCK_SIZE, 1, 1);
  3.         dim3 dimGrid (n / (2*dimBlock.x), 1, 1);
  4.         reduce4<<<dimGrid,dimBlock>>>(adev[i], adev[i^1]);
  5. }

объясните зачем тут поразрядное исключающее или i^1.
я понимаю что:
i | i^1
0|1
1|0
2|3
3|2
4|5
5|4

Forums: