그래서 내가 이렇게 보이는 기능이 있습니다 어떤 시점에서 float function(){
float x = SomeValue;
return x/SomeOtherValue;
}
,이 기능 오버 플로우와 정말 큰 음의 값을 반환합니다. 이 위치가 정확히 어디에서 발생했는지 추적하기 위해이 함수가 다음과 같이 보이도록 명령문을 추가했습니다
나는이 같은 sprintf 사용하여 double 값 문자열을 채우기 위해 노력하고 있어요 : sprintf(S, "%f", val);
그러나 정밀도가 소수점 여섯 자리까지 자른다. 정밀도를 위해 소수점 이하 10 자리가 필요합니다. 어떻게 달성 될 수 있습니까? sprintf(S, "%.10f", val);
남자의 sprintf는 형식 지정자에 대한
참조 된 here 및 here ... 왜 엡실론 방법보다 2의 보수를 사용해야합니까? 엡실론 방법이 대부분의 경우에 충분할 것으로 보입니다. 업데이트 : 나는 순전히 당신이 다른 통해 하나를 사용하십시오 왜 이론적 이유를 찾고 있어요. 저는 항상 엡실론 방법을 사용했습니다. 2의 보수 비교를 성공적으로 사용한 사람이 있습니까? 왜? 왜 안돼?
일부 재무 관련 SQL 코드를 디버깅 할 때 수치 (24,8) 수학 정밀도에 이상한 문제가 있음을 발견했습니다. 당신이 A +에서 B * C를 발현 결과가 0.123457 SELECT A, B, C, A + B * C FROM ( SELECT CAST로 얻을 것이다 당신의 MSSQL에서 다음 쿼리를 실행 (0.12345678 AS NUMERIC (24,8)
릴리스 모드 및 디버그 모드로 컴파일 할 때 내 응용 프로그램이 다른 부동 소수점 값을 생성합니다. 내가 발견 한 유일한 이유는 바이너리 추적 로그를 저장하고 릴리스 빌드의 디버그 빌드가 디버그 빌드에서 약간 벗어 났기 때문에 32 비트 부동 소수점 값의 아래쪽 두 비트가 1/2 정도 차이가 나는 것처럼 보입니다. 케이스의. 이 "차이점"을 버그로 간주하거
그래서 저는 저의 문제를 해결하기 위해 파이썬 스크립트를 작성하여 물리학 과제를 풀기로했습니다. 필자가 중점적으로 다루는 한 가지 문제점은 중요한 인물이 항상 제대로 나오지 않는 것입니다. from decimal import Decimal
>>> Decimal('1.0') + Decimal('2.0')
Decimal("3.0")
을하지만이되지 않습니