제시된 문이
int = 0x1c , y = 0xe;
int z;
z = ~x & y << 4;
printf(" z = %x \n" , z);
이거 인데 답이 z = e0 으로 나오더라구요.
답은 주어져있고 풀이를 해야하는데
x값이 이진수로는 11100 이고
y값이 이진수로는 1110 이더라구요.
그런데 비트 연산자 연산순서를 잘모르겠어요.. 그냥 처음 주어진 순서대로 해보면
NOT연산자 이니까 x값은 00011이 되고 그다음에 AND 연산자를 썼으니 y값이랑 연산하면 00010이 되고
그다음에 왼쪽으로 4비트만큼 움직이면
100000이 되버리는데 이건 값이 16진수로 20이던데.. 제가 뭘 잘못한 건가요??
연산순서가 틀린건지.. ;;