게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
늦은시간에.. C언어 기초중에 기초 비트연산자 질문드립니다 ㅜㅜ
게시물ID : programmer_2454짧은주소 복사하기
작성자 : Wagnaria
추천 : 0
조회수 : 644회
댓글수 : 2개
등록시간 : 2014/04/08 00:13:04

제시된 문이 


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이던데.. 제가 뭘 잘못한 건가요?? 

연산순서가 틀린건지.. ;;
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호