언어

컴퓨터가 숫자를 다루는 놀라운 방식과 그 한계

컴퓨터가 숫자를 다루는 놀라운 방식과 그 한계

컴퓨터 속 정수는 무한하지 않으며 고정된 비트라는 칸에 갇혀 있다. 정해진 크기를 넘어서는 숫자를 더하면 다시 최소값으로 돌아가는 현상이 발생한다.

컴퓨터는 모든 숫자를 0과 1의 조합으로 표현하는데 이때 할당된 공간이 넘치면 숫자가 튀어 오르는 오버플로우 현상이 나타납니다. 예를 들어 8비트 정수에서 최대치인 127에 1을 더하면 갑자기 -128이라는 음수로 변하는 기묘한 일이 벌어집니다. 이는 수학적 정수와 달리 컴퓨터 내부의 정수는 물리적인 메모리 공간에 묶여 있기 때문에 생기는 현상입니다. 프로그래머들은 이런 특성을 활용해 정밀한 계산 시스템을 설계하거나 오류를 방지하는 코드를 짭니다.

출처: Integer (computer science)

ko en