I could not understand why "001 1100" is the result in the part I drew. The result I found is different. Is there an error there?
No error if gen and kill are correct. + and - are bit-wise logical operators, not arithmetic operators. A + B is A or B, and A - B is A and not B (bit clear A under bit mask B). That is how set union and set difference are done with bit vectors.
000 1100 + (111 0000 - 110 0001) = 000 1100 + 001 0000 = 001 1100