(무언가 좀 이상한..-_-)
책 예제에 보면 픽셀을 가저온후
r 값은 >> 11 & 0x1F
로 비트 연산을 합니다.
1F 면 -> 0001 1111
맞죠?
이거는 16비트 안에서 R값만 가저오기 위해서 마스킹하는거 아닌가요??
ARRRRR GGGGG BBBBB (5:5:5)
RRRRR GGGGGG BBBBB (5:6:5)
책에선 5:5:5 모드로 한다고 했는데..
R 값을 1F와 엔드연산을 하면..
X11111 00000 00000 -> 오른쪽으로 11번
00000 00000 X11111 -> 맞죠 -_-?
00000 00000 011111 -> 1F 맞죠??
-------------------------------------- R값을 마스킹하믄
00000 00000 X11111
00000 00000 011111
------------------- R 값만 나와요 -_-a
두번째는 3F 와 마스킹을 합니다.
3F -> 0011 1111 맞죠-_-?
00000 11111 000000
00000 00000 111111 -> 3F
이제 오른쪽으로 5번 시프트 합니다.
00000 00000 11111X
00000 00000 111111
///////////// 딱 맞는군요 -_-a /////////////
아..펜가지고 막 그리면서 생각했을때에는 분명 1비트가 안맞었는데(....바보)
그런데 5:6:5 모드는 어떻게 하죠??
RRRRR GGGGGG BBBBB (5:6:5)
00000 00000 011111 -> 1F >>12 (맞나요;; 12번 해야 R 값이 최하비트 5군데로 이동하는거?? -_-;;)
00000 00000 111111 -> 3F >> 6 (맞나요;;)
B도 땡겨야 되나요...ㅡ_ㅡ?
아악 햇갈....;;;
그런데 R 값을 뽑으로고 비트연산을 하고
GGGGG BBBBB ARRRRR ->11번 이동했을때
저 계산을 한 후에 G 값을 뽑을떄
GGGGG BBBBB ARRRRR 이 상태에서 다시 비트를 이동시키는 건가요??
책에 예제를 봐서는 그렇지 않은것 같은데..
분명 비트를 오른쪽으로 11번 시켰으니...저 모양이 되어저 있는것 아닌가요?
아니면 비트연산은 사용할때만 되었다가 다시 원상복귀 되는건가요 -_-??
비트연산에 궁금증..
그리고 비트를 셀때 어떻게 세는거죠..ㅡㅡ;; 헷갈림;;
종이랑 펜가지고 R 비트를 셋었는데 몬가 하나가 비는듯한...
@_@...
그러니까 그 책에서 p1 이라고 표현된 변수는 아무런 영향을 받지 않았다는거지요. 원상복귀라기보다는 걍 연습장에서 계산하고나서 답지에 적는다 라고 생각하면 편해요.