a |= b;
ist eine Abkürzung für

a = a | b;

Es werden also in a die Bits gesetzt, die in b 1 sind (zu denen, die in a schon 1 sind).

a = b; ist eine Zuweisung, das ist was anderes.