Блог пользователя BiggestQuitter

Автор BiggestQuitter, история, 6 лет назад, По-английски

  • Проголосовать: нравится
  • +1
  • Проголосовать: не нравится

»
6 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Think of it this way, when you sum two numbers you get: 2 * (bits set in both numbers) + (bits set in one number but not set in the other).

»
6 лет назад, # |
  Проголосовать: нравится +19 Проголосовать: не нравится

think of how you add numbers in binary.
0 + 0 = 0
0 + 1 = 1
1 + 1 = 0 (with 1 carry)

so XOR calculates the addition without carry and AND calculates the carry. multiplying it by 2 shifts it to the left.