다음은 자바 코드이다. 1.1 + 0.2 = 1.3이 아니라고 나온다. 왜 그럴까? 이는 컴퓨터의 데이터 저장법을 살펴봐야 한다. 위의 정보들은 주기억장치인 RAM에 저장된다. 그리고 이 RAM은 0과1인 2개의 숫자로 이루어진 정보만이 저장 한다. 일반적인 숫자들은 이진법으로 변환해서 저장하면 될 것이다. 숫자 8을 저장 한다고 하면 다음과 같을 것이다. 그렇다면 소수는 어떤식으로 저장할까? 부동소수점(floating point)표현 방식을 사용하고 가장 널리 쓰이는 표현방식은 IEEE751표준이라고 한다. 소수점을 기준으로 앞자리와 뒷자리에 여러 가공이 일어나는 데, 문제는 소수점 뒷자리를 이진화해서 저장하는 부분에서 일어난다. 실제로는 순환소수처럼 끝나지 않는 수 이지만, 32bit라는 한정된 공간..