* GetTickCount는 시스템이 시작되고 나서의 시간을 밀리 초로 반환하는 함수입니다.

* GetTickCount는 시스템이 시작되고 나서 49.7일이 지나면 0에서 다시 시작합니다.

 * GetTickCount가 오버플로우되어 0으로 값이 설정되었더라도 예전값과 - 연산을 해도 크게 지장은 없습니다.
  DWORD 형이 부호가 없기 때문에  현재값 - 예전값 은 49.7일 이전 값이 아니면 옳은 값을 반환합니다.

** 0x00000001 - 0x00000000 = 1
** 0x00000000 - 0xFFFFFFFF = 0x00000000 + (0xFFFFFFFF 2의보수) = 0x00000000 + (0x00000001) = 1


 간단하게 4bit 로 계산을 해보겠습니다.

4bit의 최대값은
1111 (2진수) == 15(10진수)

4bit의 최소값은
0000 (2진수) == 0(10진수)

최소값 - 최대값 을 계산해보면
1111의 2의 보수값은
1111의 역수 0000 더하기 1 = 0001

2진수) 0000 - 1111 = 0000 + 0001 = 0001
10진수) 0 - 15 = 0 + 1 = 1

따라서 값은 1이 나온다.

마찬가지로 5 - 15(4비트 최대값)는 6이 된다.
0101 - 1111 = 0101 + 0001 = 0110(6)

14 - 15 = 15
14 - 15(4비트 최대값) = 1110 - 1111 = 1110 + 0001 = 1111(15)


+ Recent posts