컴퓨터에서 수치를 다룰 때, 정수형(int)과 부동소수점 형(float, double) 사이에는 중요한 차이가 존재합니다. 정수형은 이진수로 정확하게 표현될 수 있기 때문에, 컴퓨터 내에서 정수 연산은 오류 없이 정확한 결과를 제공합니다. 반면, float와 double은 부동소수점 수를 나타내며, 이는 실수를 근사적으로 표현하는 방식입니다. 부동소수점 수를 이용한 연산에서 정확한 값을 구하기 어려운 이유는 실수를 이진수로 변환할 때 일부 실수가 이진수로 정확히 표현될 수 없기 때문입니다. 특히 10진수에서 간단히 표현되는 실수들이 이진법에서는 무한 소수가 되어버리는 경우가 많으며, 0.1과 같은 값은 이진수에서 끝없이 반복되는 소수로 나타나게 됩니다. 이러한 값들은 메모리에 정확히 저장될 수 없고, 대..