음수의 비트연산
Posted by Go crazy for anything that will make you smile.
int a = -15, b = -20; int c = a & b; -15를 음수로 하면 0000 1111 을 1보수 해서 1111 0000 그다음 2의보수 1111 0001 이값이 되는 건가요? => 네 맞습니다. 그런데 쓰시는 컴파일러 int가 32비트아닌가요? 그러면 11111111 11111111 11111111 11110001 이네요 그러하면 -20은 0001 0100 을 1보수 해서 1110 1011 그다음 2의 보수 1110 1100이렇게 되고 => 역시 정확하게 하면 11111111 11111111 11111111 11101100 이네요 이걸 and연산하는거 맞는지.. 1111 0001 & 1110 1100 1110 0000 이거 나오는게 맞는지요 그러다면 => 맞습니다 32비트로 하면 다음..