계산기 사용법
32에서
left shift 상태에서
64나온다
왜냐 왼쪽으로 비트 옮기면 2^1 만큼 증가함.
PRINT_HEX '4' 는 4바이트 출력한다는거임
2로 놔두면 5678 출력되는데 이유가 16진수 두자리는 1바이트 이고,
저번시간에 배운
에 따라 뒤의
애내들이
(비트로 볼경우)
거꾸로 저장되기 때문에
뒤에서 부터 출력이 된다.
어쨋든 0x12345678을 출력하면 12345678 이 나오는데
왼쪽으로 8번 밀었다가 다시 8번 오른쪽으로 밀면
34567800 나오는데 확인 해보면
현재 이숫자를
shl 8 해주면
이렇게 밀림 (소실)
다시 shr 8 해주면
이렇게되서 출력문이 맞다.
xor
A xor B => 둘다 다르다면 1이고
둘다 1이거나 0이면 => 0
이거는 그냥 한번 보면된다.
날아다닌다 1
과 비트 논리연산 and를 통해 1이 나오면 날아다니는 것임.
xor 2번 -> 자기 자신으로 돌아옴 -> 암호학에서 많이 사용 bl을 key값으로
xor == 둘다 1이면 0 || 둘다 0이면 0 이고 둘다 다르면 1인데
al al 은 둘다 똑같은 값이라 무조건 0나온다.
(retrun 0과같다)