1799
2014-12-03 01:33:36
25
좀 더 설명하자면 일반적으로 32비트 정수라고 하면
컴퓨터에서 정수 하나 저장하는 데 메모리 32비트 = 4바이트 쓴다는 말이고
여기에는 -2147483648부터 2147483647까지 저장할 수 있음.
그런데 최대값인 2147483647을 넘어감.
32비트 정수에서 2147483647 + 1를 계산하면 2147483647 + 1 = -2147483648라는 결과가 나와버림.
그래서 지금 강남스타일 유튜브 조회수에 마우스 갖다대면 실제로는 음수로 집계되고 있음.
이걸 강제로 양수로 바꾸기 위해, 일반인도 알아보게 설명한다면 2147483648 + 2147483648 = 4294967296을 더해서
-2147483648로 집계되면 -2147483648 + 4294967296 = 2147483648로,
-2147483647로 집계되면 -2147483647 + 4294967296 = 2147483649로,
...
이렇게 표시되도록 땜빵해 놓은 상태인데
애초에 저 조회수 저장 공간이 32비트 = 4바이트이기 때문에
이 방법은 언젠가는 막히는(결국 0을 지나고 2147483647을 지나고 다시 음수가 되겠지) 땜빵일 뿐임.