이 간단한 Excel 계산이 왜 0을 그물로 만들지 않는 이유는 무엇입니까?


2

enter image description here

그것은 제로가되어야하지만 결과는 결과적으로 끝 부분에 고유 한 일련의 숫자를 생성합니다.

또한 여기에 .xlsx가 있습니다. http://83.212.111.36/Book1.xlsx


round ()로 해결 방법을 찾았습니다. 부동 산술에 문제가 있다고 들었습니다. 나는 그것이 고칠 수 있는지 모른다.
j riv

답변:


6

이것은 컴퓨터에서 부동 소수점 표현의 제한된 정밀도로 인해 발생하며 숫자가 컴퓨터에 표시되는 방식의 본질적인 문제이기 때문에 수정할 수 없습니다. round () 또는 오류 전파를 줄이기위한 공식을 영리하게 구현하는 등의 해결 방법이있을 수 있습니다.

Excel은 8 바이트 (64 비트) 부동 소수점 표현을 사용하므로 약 10 ^ -15의 최대 정확도를 얻을 수 있습니다. 부정확성은 계산 단계에 걸쳐 퍼질 수 있습니다.

나는 네가 읽는 것을 제안한다. Wikipedia에이 기사 이 주제를 조사합니다.


그들은 새롭고 다른 수학을 얻기 위해 윈도우 계산기에서 부동 소수점을 사용했습니다 :-) 간단한 반올림으로 해결할 수있었습니다. 대신 나는 FP가 사용 된 특정 정확도를 가지고 있는지 알아 내기 위해 20 페이지의 내용을 읽었고, 사용 된 정확도 내에서 정확도 내에서 다시 반올림되어야합니다. 둥글게 한 적절한 것은 잘게 자르지 않았다.
Psycogeek

고급 사용자는 필요에 따라 반올림되거나 잘린 결과가 필요한지 여부를 결정할 수 있습니다. 불필요한 반올림은 계산 속도를 늦 춥니 다.
Pincopallino

3

자체 게시물 : 부동 소수점 연산에 대한 문서화 된 제한 사항입니다. http://support.microsoft.com/kb/78113

IMO 결과가 너무 맹렬히 잘못하여 버그로 간주되지 않을 수 있지만 더 어둡게 보일 때 더 눈에 띄게 경고해야합니다.

해결 방법은 round ()를 사용하는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.