[공학용 계산기] 계산기의 가장 큰 수는? 자릿수 한계 (feat. 팩토리알)
1. 계산기별 factorial 계산시 결과
| Factorial | ~69! | 70!~449! | 450!~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(450!) | X | X |
| HP Prime | O | O | O | X(∞) | |
| 윈도우10 내장 | O | O | O | O | X(Overflow) |
* CAS 계산기인 HP Prime 이나 TI-nspire 와 같은 상급계산기는
정수에 한정하여 내부 유효 자릿수(14 digits)와 관계없이 가능한 한도 내에서는 자연수 결과(참값)를 유지하지만,

기타 공학용 계산기는 내부 유효 자릿수(보통 14자리) 이상이 되면 예외없이 참 값을 버리고
부동소숫점 형식으로 단순화해서 근사값으로 계산합니다.

* 참고
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)은 그냥 오버플로우 메시지만 띄움
2. 검증 (500! 계산시)
1) Wolfram Alpha

2) TI-nspire

ㄴ 입력한 ! 심볼을 그대로 결과에 표함시켜 표시되지만, 실제 계산이 불가능하며 오류가 유발됨.
3) HP Prime

계산도 되고, 저장도 되고, 연산도 잘 되는데...
지수형식으로 저장하면, 그보다 작은 수에서도 Inf (CAS 의 경우) 가 나옴.
-> 정수 저장공간(array)이 따로 설정되는 듯 하고,
지수 형식의 경우 Double Precision 제한 받는 듯 함.
-> Home 에서는 9.99999999999*E499 이상의 숫자 입력시 9.99999999999*E499 로 강제로 바뀜
댓글11
-
세상의모든계산기
울프람 신께서는 한계도 없는지 계속 결과를 뽑아내 주시는데... 맞는지 틀리는지 검증할 방법이 없어서 그만 뒀습니다.
의심은 불경한 짓인가?

-
세상의모든계산기
fx-570 ES 로 70! (스털링 근사) 값 구하기
1. 70! 을 직접 구하면 ➡️ 한계값을 넘어서 ERROR

2. ln(70!)의 근사값을 구함
ln(70!) ≈ 70*ln(70) - 70 + (1/2)ln(2*π*70)

3. 즉, ln(70!) ≈ 230.4378531...... 인데, 소숫점 지수형식으로 변환하려면
이 값을 ln(10)으로 나누면 됨. (밑이 10인 상용로그로 바뀜)

ln(70!)÷ln(10) ≈ 230.4378531......÷ln(10)
log(70!) ≈ 100.077888
70! ≈ 10^(100.077888) = 10^100 × 10^(0.077888) 이므로


최종 결과로
1.196432005 ×10^(100) 을 얻게 됨.
1.197857166997×10^(100) 과 비교하면 오차가 크리 크지 않음을 알 수 있음.
-
세상의모든계산기
같은 방식으로 500! 근사값을 구해보면

1.219933487 × 10^(1134)
1.22013682599111006870123878542304692625357434280319284219241358838 × 10^(1134) (참값, 울프람 알파)
-
세상의모든계산기
중간값 오류 가능성
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-5800p 설명서 중 발췌 ┘ -
세상의모든계산기
'왜 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입니다.

세상의모든계산기 님의 최근 댓글
엑셀 파일로 만드니 전체 160~200MB 정도 나옵니다. 읽고 / 저장하는데 한참 걸리네요. 컴 사양을 좀 탈 것 같습니다. -> 엑셀/한셀에서 읽히지만, 구글 스프레드시트에서는 열리지 않네요. 100만 개 단위로 끊어서 20MB 정도로 분할해 저장하는 편이 오히려 속 편할 것 같습니다. -> 이건 구글 스프레드시트에서도 열리긴 하네요. (약간 버퍼링?이 있습니다) 2026 02.10 엑셀 / 행의 최대 개수, 열의 최대 개수, 셀의 최대 개수 엑셀의 행 개수 제한은 파일 형식에 따라 다르며, 최신 .xlsx 파일 형식은 시트당 최대 1,048,576행까지 지원하지만, 구형 .xls 파일은 65,536행으로 제한됩니다. 따라서 대용량 데이터를 다룰 때는 반드시 최신 파일 형식(.)으로 저장해야 하며, 행과 열의 총 수는 1,048,576행 x 16,384열이 최대입니다. 주요 행 개수 제한 사항: 최신 파일 형식 (.xlsx, .xlsm, .xlsb 등): 시트당 1,048,576행 (2^20). 구형 파일 형식 (.xls): 시트당 65,536행 (2^16). 그 외 알아두면 좋은 점: 최대 행 수: 1,048,576행 (100만여개) 최대 열 수: 16,384열 (XFD) 대용량 데이터 처리: 65,536행을 초과하는 데이터를 다루려면 반드시 .xlsx 형식으로 저장하고 사용해야 합니다. 문제 해결: 데이터가 많아 엑셀이 멈추거나 오류가 발생하면, 불필요한 빈 행을 정리하거나 Inquire 추가 기능을 활용하여 파일을 최적화할 수 있습니다. 2026 02.10 [일반계산기] 매출액 / 원가 / 마진율(=이익율)의 계산. https://allcalc.org/20806 2026 02.08 V2 갱신 (nonK / K-Type 통합형) 예전에는 직접 코드작성 + AI 보조 하여 프로그램 만들었었는데, 갈수록 복잡해져서 손 놓고 있었습니다. 이번에 antigravity 설치하고, 테스트 겸 새로 V2를 올렸습니다. 직접 코드작성하는 일은 전혀 없었고, 바이브 코딩으로 전체 작성했습니다. "잘 했다 / 틀렸다 / 계산기와 다르다." "어떤 방향에서 코드 수정해 봐라." AI가 실물 계산기 각정 버튼의 작동 방식에 대한 정확한 이해는 없는 상태라서, V1을 바탕으로 여러차례 수정해야 했습니다만, 예전과 비교하면 일취월장 했고, 훨씬 쉬워졌습니다. 2026 02.04 A) 1*3*5*7*9 = 계산 945 B) √ 12번 누름 ㄴ 12회 해도 되고, 14회 해도 되는데, 횟수 기억해야 함. ㄴ 횟수가 너무 적으면 오차가 커짐 ㄴ 결과가 1에 매우 가까운 숫자라면 된 겁니다. 1.0016740522338 C) - 1 ÷ 5 + 1 = 1.0003348104468 D) × = 을 (n세트) 반복해 입력 ㄴ 여기서 n세트는, B에서 '루트버튼 누른 횟수' 3.9398949655688 빨간 부분 숫자에 오차 있음. (소숫점 둘째 자리 정도까지만 반올림 해서 답안 작성) 참 값 = 3.9362834270354... 2026 02.04