> 백엔드 개발 > C++ > C#에서 0.09F * 100F가 0.09F * 99.999999F를 초과하지 않는 이유는 무엇입니까?

C#에서 0.09F * 100F가 0.09F * 99.999999F를 초과하지 않는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2025-01-31 04:21:11
원래의
593명이 탐색했습니다.

Why Does 0.09f * 100f Seemingly Not Exceed 0.09f * 99.999999f in C#?
C# 플로팅 포인트 산술 : 정밀도가 중요한 이유

C#의 부동 소수점 수는 일반적으로 사용되지만 예기치 않은 결과를 생성 할 수있는 고유 한 제한 사항이 있습니다. 이 부정확성을 보여주는 사례를 살펴 보겠습니다. 이 C# 코드 스 니펫을 고려하십시오 프로그램은 놀랍게도 "false"를 출력하지만,

(0.09 (0.09 (c#의 32 비트)와 같은 플로팅 포인트 유형은 정밀도가 제한적입니다. 그것들은 유한 한 수의 소수 자릿수 만 정확하게 나타낼 수 있습니다 (약 7의 경우 약 7). 부동 소수점 번호와 관련된 계산은 반올림 오류를 소개하여 축적되고 관찰 된 것과 같은 불일치로 이어질 수 있습니다. 이 경우, 및

의 계산 및 저장 중 반올림 오차는 동일하게 간주되거나 심지어 이러한 누적 된 오류로 인해

보다 약간 작습니다. 부동 소수점 정밀도와 그 의미에 대한 포괄적 인 이해를 위해 결정적인 자원을 참조하십시오. "모든 컴퓨터 과학자가 부동 소수점 산술에 대해 알아야 할 것"

위 내용은 C#에서 0.09F * 100F가 0.09F * 99.999999F를 초과하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿