- 세상의 모든 계산기 계산기 뉴스/정보
[공학용 계산기] 계산기 내부에서 사용하는 유효숫자 자릿수 Significant Digits
1. 공학용 계산기에서 유효자릿수(Significant Digits)란?
과학적 실험 등에서 일반적으로 사용되는 개념으로서 "유효 숫자(Significant figures)" 라는 것이 있습니다.
계산기에도 "유효 숫자 (Significant Digits)"라는 유사한 용어가 있습니다만, 앞서 설명한 과학적(또는 수학적) 용어로서의 유효 숫자와는 개념이 다릅니다.
한글로 표현되는 이름만 같고 다른 용어라고 생각하시는게 좋습니다.
계산기에서는 어떠한 숫자(또는 계산 결과)가 정확한 값(Exact Number)과 구별되는 근사값(Approx Number)으로 인식될 때, 최대의 유효한 자릿수(10개~15개, 계산기마다 다름)만 남고, 나머지는 버려집니다.
내부 자릿수가 늘어날수록 정밀도(precision)는 높아집니다.
이 유효한 자릿수는 고정된 최대 자릿수만 있을 뿐이어서, 과학분야에서처럼 수식 내에서 가장 작은 유효 자릿수를 따라간다거나 하지는 않습니다.
2. 계산기 유효숫자 예시
예시 1)
1.9*10^27 + 5 = ?
참 값 = 1900000000000000000000000005 (정수)
이 값은 과학적 표기로 바꾸면 1.900000000000000000000000005 × (10^27) 입니다.
(1에서부터 마지막 5까지 정수 자릿수 27자리)
이 값은 유효숫자가 계산기가 허용하는 최대 자릿수보다 크기 때문에, (꼬리가 짤린) 1.9000000000000 × (10^27) 만 계산기의 메모리에 저장됩니다.
- 저장되는 유효숫자의 갯수는 계산기마다 다릅니다.
- 정수(exact integer)와 소수(부동소숫점)의 유효자릿수가 다른 계산기도 있습니다. ([TI-nspire] 등)
예시 2)
(1.9×10^(-27)) + 5 = ?
참값은 5.0000000000000000000000000019 이지만, 최대 자릿수 제한으로 (꼬리가 짤린) 5.0000000000000 정도만 메모리에 저장이 됩니다.
예시 3)
(1.9 × 10^27 +5 ) - (1.9 × 10^27) = ?
당연히 5가 답으로 나와야 하지만, 실제로는 0이 나오게 됩니다.
수식의 계산 순서를 바꾸면 다시 5가 나오기도 하구요.
└ [TI-nspire]
└ [fx-570 ES]
3. (부동)소숫점과 정수의 차이
이렇게 긴 정수간의 분수 계산이 (부동)소숫점 형태로 나오는게 일반적이지만,
이렇게 internal significant digits 와 별개로 긴 자릿수까지 저장할 수도 있습니다.
CAS급의 최고급형 계산기에서만 그렇습니다.
댓글 8
-
-
-
샤프 계산기 사용 설명서 일부
Internal calculations: Mantissas of up to 14 digits
-
-
-
TI-89 답변 중 발췌
"Internally, the device calculates and retains all decimal results with up to 14 significant digits"
-
-
-
일정 자릿수의 유효숫자로 값을 강제적으로 제한하려면?
[TI-nspire] 에서는 round(expr,자릿수) 함수를 이용하면 되고,
[fx-350] [fx-570] 에서는 【SHIFT】【0】 Rnd 기능을 이용합니다.
-
-
-
-> 안보이는 계산결과(하위 자릿수) 확인하기 < 클릭
-
-
-
카시오 fx-9860g2 설명서 중 발췌
Calculations are performed internally with a 15-digit mantissa. The result is rounded to a 10-digit mantissa before it is displayed.
-
-
-
무려 23자리까지 늘어난 CASIO 신형 CW 계산기들
-
-
-
https://en.wikipedia.org/wiki/Casio_V.P.A.M._calculators
ChatGPT 분석
ClassWiz CW 시리즈에서 내부 유효 자릿수가 23자리로 증가한 주요 이유는 다음과 같은 요소들이 맞물린 결과입니다:
1. ML620Q909 칩셋과 16비트 아키텍처의 도입
- CW 시리즈는 ML620Q909 칩셋을 기반으로 동작하는데, 이 칩셋은 16비트 아키텍처를 사용하여 기존 8비트 아키텍처보다 더 넓은 데이터 폭을 처리할 수 있습니다. 덕분에 한 번에 더 많은 비트를 처리할 수 있게 되어 숫자의 유효 자릿수를 더 많이 확보할 수 있습니다.
- 16비트 아키텍처는 23자리 유효 자릿수를 표현할 때 필요한 데이터량을 충분히 처리할 수 있으며, 이 과정에서 연산 속도 또한 유지할 수 있게 해줍니다.
2. 내장 BCD 코프로세서의 역할
- ML620Q909 칩셋에 포함된 BCD(이진화 십진법) 코프로세서는 특히 십진법 소수점 연산에 유리한 특성을 가지고 있습니다. BCD 코프로세서는 숫자를 십진법 형태로 다루어 부동소수점 연산 시 발생하는 오차를 줄이고 자릿수 정밀도를 유지할 수 있습니다.
- 일반적으로 이진 연산에서는 소수점 이하의 오차가 누적될 가능성이 높지만, BCD 연산을 통해 이러한 오차를 효과적으로 줄여 정확도를 높인 것이죠.
3. 23자리 지원의 필요성과 목적
- 고정밀도가 필요한 과학적 계산에서는 연산 과정에서의 오차 최소화가 중요한데, 이전 14자리 유효 자릿수보다 훨씬 많은 23자리까지 계산할 수 있도록 업그레이드한 것은 이런 요구를 반영한 것입니다.
- 특히, 공학용 계산기에서 자주 수행하는 미적분, 행렬 연산, 복소수 계산 등에서 23자리 유효 자릿수는 연산의 정확도를 크게 개선시켜 줍니다.
이처럼, ML620Q909 칩셋의 16비트 아키텍처와 BCD 코프로세서의 결합이 ClassWiz CW 시리즈가 23자리 유효 자릿수를 지원할 수 있게 된 핵심 기술적 요소라고 할 수 있습니다.
-
유효숫자의개념은 계산 가능 범위 Range와도 구별되는 개념입니다.