문제

nt main()
{
    cout << ('a'^'b');
}

when i wrote this simple code(in C++) program giving the "3" output. but it must be "1". do you know why? is there problem with the xor operator??

도움이 되었습니까?

해결책

There is no problem with XOR and the result of 3 is correct.

   'a' XOR 'b'
-> 0x61 XOR 0x62          (hex, per ASCII)
-> 01100001 XOR 01100010  (binary)
-> 00000011               (only these bits differ)
-> 3                      (decimal)

Consider the following, which is 1 - why?

'`' ^ 'a'
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top