«floating-accuracy» 태그된 질문


11
부동 소수점 값을 비교하는 것이 얼마나 위험합니까?
해상도 독립 좌표계로 인해 UIKit사용하는 것을 알고 CGFloat있습니다. 그러나 때마다 나는 예를 들어 있는지 확인하고자 frame.origin.x한다 0그것이 나를 아프게 느낄 수 있습니다 : if (theView.frame.origin.x == 0) { // do important operation } 하지인가 CGFloat와 비교할 때 잘못된 반응에 취약 ==, <=, >=, <, >? 부동 소수점이며 0.0000000000041예를 들어 정밀도 …


21
Java에서 float을 비교하기 위해 ==를 사용하면 무엇이 문제입니까?
이 java.sun 페이지 에 따르면 ==Java의 부동 소수점 숫자에 대한 동등 비교 연산자가 있습니다. 그러나이 코드를 입력하면 : if(sectionID == currentSectionID) 내 편집기로 정적 분석을 실행하면 "JAVA0078 부동 소수점 값 ==" ==부동 소수점 값을 비교 하는 데 어떤 문제가 있습니까? 올바른 방법은 무엇입니까?

4
왜 파이썬 3에서 부동 소수점 값 4 * 0.1이 좋아 보이지만 3 * 0.1은 그렇지 않습니까?
대부분의 소수에는 정확한 부동 소수점 표현이 없습니다 ( 부동 소수점 수학은 깨졌습니까? ). 그러나 나는 이유를 볼 수 없습니다 4*0.1잘으로 인쇄되어 0.4있지만, 3*0.1두 값이 실제로 못생긴 진수 표현을하지 않을 때입니다 : >>> 3*0.1 0.30000000000000004 >>> 4*0.1 0.4 >>> from decimal import Decimal >>> Decimal(3*0.1) Decimal('0.3000000000000000444089209850062616169452667236328125') >>> Decimal(4*0.1) Decimal('0.40000000000000002220446049250313080847263336181640625')



4
1.0이 아닌 1.0에 가장 가까운 두 배는 얼마입니까?
1.0에 가장 가깝지만 실제로 1.0이 아닌 double을 프로그래밍 방식으로 얻을 수있는 방법이 있습니까? 이를 수행하는 한 가지 해키 방법은 double을 동일한 크기의 정수로 memcpy 한 다음 1을 빼는 것입니다. IEEE754 부동 소수점 형식이 작동하는 방식은 분수 부분을 모두 0 (1.000000000000)에서 모두 1 (1.111111111111)로 변경하면서 지수를 1만큼 감소시킵니다. 그러나 정수가 리틀 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.