돈 많은 백수가 되고 싶어

C#에서 while문에서 소수를 비교할 때 (==) 사용하면 안 되는 이유 본문

프로그래밍/기타

C#에서 while문에서 소수를 비교할 때 (==) 사용하면 안 되는 이유

미하루 2023. 5. 2. 23:47

C#에서는 부동소수점 숫자를 정확하게 나타내기 어렵기 때문에, 부동소수점 숫자를 비교할 때 오차가 발생할 수 있습니다. 이러한 오차는 컴퓨터의 이진수 연산에서 발생하는 문제로, 실제 수학적 계산과는 다른 결과를 내게 됩니다.

 

따라서, 부동소수점 숫자를 비교할 때는 등호(==) 연산자를 사용하면 안 됩니다. 대신, 두 숫자의 차이를 계산한 뒤, 이 값이 허용 가능한 오차 이내인지를 확인해야 합니다.

 

결론은 컴퓨터의 기술적 한계 때문에 == 사용 시 오류가 나는 겁니다.

(이거 알아 낼려고 몇시간이나 머리 쥐어 듣으면서 구글링 했다.)

 

'프로그래밍 > 기타' 카테고리의 다른 글

GitHub 데스크탑 사용법-협업 시 파일 받는 법  (0) 2023.05.02