- 세상의 모든 계산기 계산기 이야기
[공학용 계산기] 펙토리알(!)로 알아보는 계산기의 최대 자릿수 한계
Factorial | ~69! | 70!~449! | 500!~1006! | 1007!~3248! | 3249!~ |
---|---|---|---|---|---|
EL-509W | O | X(Error 2) | X | X | X |
fx-570ES, EX | O | X(Math Error) | X | X | X |
fx-9860G | O | X(Ma Error) | X | X | X |
TI-nspire, 89T | O | O | X(500!) | X | X |
HP Prime | O | O | O | X(∞) | |
윈도우10 내장 | O | O | O | O | X(Overflow) |
* 참고
69! = 1.71122e+98
70! = 1.19786e+100
449! = 3.85193e+997
500! = 1.22014e+1134
1006! = 4.10908e+2585
1007! = 4.13784e+2588
2000! = 3.316275e+5735
3000! = 4.14936e+9130
3248! = 1.97363e+9997
50000! = 3.34732... × 10^213236
1. nspire에서 500! 이상을 이용한 계산은 표기만 될 뿐, 실제로 이루어지지 않음
2. 기존 윈도우 계산기는 그만둘지 물어보는 창이 나와도 백그라운드로 계속 계산하여 결국에는 계산이 되었지만, 지금(윈도우10)은 그냥 오버플로우 메시지만 띄움
댓글 8
-
-
-
https://ko.wikipedia.org/wiki/%EC%8A%A4%ED%84%B8%EB%A7%81_%EA%B7%BC%EC%82%AC
-
-
-
http://kin.naver.com/qna/detail.nhn?d1id=5&dirId=50105&docId=236207580&ref=me2lnk
(최종결과값은 계산기 한계 이내일지라도)
계산식 중간에 계산기 한계를 넘는 중간결과가 발생하면
최종 결과의 오류로 이어질 수 있습니다.
이런 경우에는 계산 순서를 적절히 조절하여 한계를 벗어나지 않게 하거나,
단위를 줄여서(?) 계산하는 등의 편법이 필요합니다.
ㄴ A=9.11*10^(-31), B=(1.6*10^(-19))^4, C=(4π*(8.85*10^(-12)))^2, D=(1.054*10^(-34))^2
-
-
-
fx-9860GII 에서도 똑같은 증상
http://kin.naver.com/qna/detail.nhn?d1id=11&dirId=113111&docId=286373393
-
-
-
fx-9860G SD (V OS 01.03)
-
-
-
계산기 설명서에는 계산기에서 사용 가능한 숫자의 범위가 나옵니다. 이를 통해 몇 펙토리알까지 계산이 가능할지도 추정해 볼 수 있겠지요.
└ fx-5800p 설명서 중 발췌 ┘
-
-
-
https://kin.naver.com/qna/detail.naver?d1id=5&dirId=5010602&docId=463510075&qb=6rOE7IKw6riw&enc=utf8§ion=kin.qna.all&rank=6&search_sort=3&spq=0
갤럭시 폰 내장 계산기에서 취급 가능한 가장 큰 수는?
1.79769313E+308 까지는 입력이 가능
-
-
-
'왜 1.79769313E+308 일까?'
싶어서 검색을 해 보니
https://stackoverflow.com/questions/22402885/why-is-number-max-value-1-7976931348623157e308-instead-of-9007199254740992e102
바드 AI 에 물어보니
삼성 갤럭시 계산기 최대값이 1.79769313E+308 이던데 그 이유가 뭐야?
삼성 갤럭시 계산기의 최대값이 1.79769313E+308인 이유는 IEEE 754라는 부동소수점 표준을 따르기 때문입니다. IEEE 754는 컴퓨터에서 실수를 표현하는 방식을 정의하는 표준이며, 이 표준에 따르면 **'double precision'**이라는 형식으로 표현되는 실수의 최대값은 1.7976931348623157E+308입니다.
이유:
2진수 표현: 컴퓨터는 모든 정보를 2진수로 표현합니다. 실수를 표현하기 위해서는 가수와 지수라는 두 가지 정보가 필요합니다. 가수는 실수의 값을, 지수는 실수의 크기를 나타냅니다.
정밀도: IEEE 754 표준은 'double precision' 형식에서 가수를 53비트, 지수를 11비트를 사용하여 표현합니다. 53비트는 약 16자리의 10진수 숫자를 표현할 수 있으며, 11비트는 -308부터 308까지의 지수를 표현할 수 있습니다.
최대값 계산: 'double precision' 형식에서 표현할 수 있는 최대값은 2^53 - 1 (가수의 최대값) * 2^308 (지수의 최대값)입니다. 이 값을 계산하면 1.7976931348623157E+308입니다.
참고:
'double precision' 형식보다 더 큰 값을 표현할 수 있는 'quad precision' 형식도 존재하지만, 이 형식은 모든 컴퓨터에서 지원되는 것은 아닙니다.
IEEE 754 표준은 실수를 표현하는 가장 일반적인 표준이지만, 다른 표준도 존재합니다.
결론:
삼성 갤럭시 계산기의 최대값이 1.79769313E+308인 이유는 IEEE 754 표준을 따르기 때문입니다. 이 표준은 컴퓨터에서 실수를 표현하는 방식을 정의하며, 'double precision' 형식으로 표현할 수 있는 최대값은 1.7976931348623157E+308입니다.
-
울프람 신께서는 한계도 없는지 계속 결과를 뽑아내 주시는데... 맞는지 틀리는지 검증할 방법이 없어서 그만 뒀습니다.
의심은 불경한 짓인가?