SciKey 소개
SciKey 는 실물 공학용 계산기처럼 쓰면서, 수식을 한 줄로 입력하고 결과를 바로 확인할 수 있게 만든 웹 계산기입니다. 설치나 가입 없이 브라우저에서 동작하며, 입력한 수식은 서버로 전송되지 않습니다.
주요 기능
- 수식 그대로 입력 — 연산 우선순위·괄호·암시적 곱셈(2π, 3(4+5))을 처리하고, 입력하는 동안 결과를 실시간으로 미리 보여 줍니다. 키패드와 키보드를 모두 쓸 수 있습니다.
- 공학 함수 — 삼각·역삼각·쌍곡 함수(DEG/RAD/GRAD), log·ln·logₐ, eˣ·10ˣ, √·n제곱근, xʸ, n!·nPr·nCr, |x|, mod, 반올림·내림·올림, gcd·lcm.
- 상수 — π·e·φ 와 CODATA 2022 물리 상수 20개(광속, 플랑크 상수, 아보가드로 상수, 전자 질량 등)를 이름으로 불러 씁니다.
- 메모리·변수·기록 — M+·M−·MR·MC 독립 메모리, Ans, 변수 x·y·z 저장(STO), 최근 50개 계산 기록(클릭해 다시 불러오기).
- 표시 형식 — 일반(NORM)·과학적(SCI)·공학(ENG) 표기, 유효자릿수 6~15자리, 분수·π 배수·2/8/16진 표시.
- 개인정보 보호 — 모든 계산은 브라우저 안에서 이루어지며 기록과 설정은 사용자 기기의 localStorage 에만 저장됩니다.
사용법
- 상단의 DEG/RAD/GRAD 버튼으로 각도 단위를 먼저 확인합니다(삼각함수 결과가 달라집니다).
- 키패드를 누르거나 키보드로 수식을 입력합니다. 예:
2sin(30)+√(16). 입력하는 동안 아래에 결과가 미리 보입니다. - = 키나 Enter 로 확정하면 결과가 기록에 추가되고 Ans 에 저장됩니다. 이어서 × 같은 연산자를 누르면 Ans 에 이어서 계산합니다.
- 2nd 키를 누르면 키 위에 작게 적힌 보조 기능(sin⁻¹, 10ˣ, eˣ, x³, ∛, φ, floor)을 입력합니다. hyp 키는 sin·cos·tan 을 쌍곡 함수로 바꿉니다.
- 결과를 보관하려면 STO 를 누른 뒤 x·y·z 중 하나를 누르거나, M+ 로 메모리에 더합니다.
- 표시 형식(NORM·SCI·ENG)과 유효자릿수는 화면 상단에서 바꿉니다. 결과 아래에는 분수, π 배수, 진법 표기가 가능할 때 함께 표시됩니다.
계산 정확도와 부동소수 처리 원칙
모든 계산은 자바스크립트의 IEEE 754 배정밀도(64비트) 부동소수로 합니다. 유효숫자는 약 15~17자리입니다. 수식은 eval 을 쓰지 않는 자체 파서(재귀 하강)로 해석하며, 함수 값은 mpmath(40자리) 기준값 1,786건과 대조해 상대오차 2×10⁻¹⁴ 이내임을 확인했습니다.
- 0.1 + 0.2 — 이진 부동소수로는 0.1 을 정확히 나타낼 수 없어 내부값은 0.30000000000000004 입니다. SciKey 는 설정한 유효자릿수(기본 12자리)로 반올림해 0.3 으로 표시합니다. 실물 공학용 계산기가 내부 15자리·표시 10자리로 오차를 가리는 것과 같은 방식입니다. 내부값은 그대로 Ans 에 남습니다.
- DEG·GRAD 모드의 삼각함수 — 인수를 360°(400gon)로 정확히 줄인 뒤 90°(100gon)의 배수이면 정확한 값을 돌려줍니다: sin(180°) = 0, cos(90°) = 0, tan(90°) 은 '정의되지 않음'.
- RAD 모드의 sin(π) — 입력한 π 는 실제 π 와 약 1.22×10⁻¹⁶ 차이 나는 근삿값이라 sin 의 원시 결과가 1.22×10⁻¹⁶ 입니다. 인수가 π 의 정수배와 상대오차 10⁻¹³ 이내로 일치하면 sin 을 0 으로, π/2 의 홀수배이면 cos 를 0 으로 보정하고, tan(π/2) 는 '정의되지 않음'으로 처리합니다.
- 범위 — 결과의 절댓값이 약 1.797×10³⁰⁸ 을 넘으면 오버플로 오류를 냅니다(171! 등). 정의역 밖 연산(√−1, log 0, asin 2, 0으로 나누기)은 수학 오류이며 복소수는 지원하지 않습니다.
- 정수 정밀도 — 2⁵³(약 9×10¹⁵)을 넘는 정수는 1 단위까지 정확하지 않을 수 있습니다. 23! 이상의 팩토리얼은 근삿값입니다.
자주 묻는 질문
-2^2 는 왜 -4 인가요?
거듭제곱이 단항 마이너스보다 먼저 계산되기 때문입니다. 수학 표기 −2² 가 −4 인 것과 같은 관례입니다. 음수를 제곱하려면 (-2)^2 처럼 괄호로 묶으세요. 참고로 엑셀은 =-2^2 를 4 로 계산하므로 다릅니다.
6÷2(1+2) 의 답은 1인가요, 9인가요?
SciKey 는 암시적 곱셈을 일반 곱셈과 같은 우선순위로 보고 왼쪽부터 계산하므로 9 입니다. 기종에 따라 암시적 곱셈을 먼저 계산해 1 을 내는 계산기도 있으니, 의도를 분명히 하려면 괄호를 쓰세요.
sin(30) 이 -0.988 로 나옵니다.
각도 단위가 RAD(라디안)로 설정되어 30 라디안의 사인을 계산한 것입니다. 상단 버튼을 DEG 로 바꾸거나 sin(30°) 처럼 ° 기호를 붙이세요.
밑이 2인 로그는 어떻게 계산하나요?
log(2, 8) 처럼 밑을 먼저 쓰면 됩니다(결과 3). 밑이 2 인 경우 log2(8) 도 쓸 수 있습니다. 밑 변환 공식 ln(8)/ln(2) 와 같은 값입니다.
음수의 세제곱근도 계산되나요?
네. cbrt(-27) = −3, root(-8, 3) = −2, (-8)^(1/3) = −2 입니다. 짝수 제곱근처럼 실수 결과가 없는 경우는 수학 오류를 냅니다(복소수 미지원).
171! 은 왜 오류인가요?
배정밀도 부동소수가 나타낼 수 있는 최댓값이 약 1.797×10³⁰⁸ 인데 171! 은 약 1.24×10³⁰⁹ 로 이를 넘기 때문입니다. 170! ≈ 7.257×10³⁰⁶ 까지 계산됩니다.
계산 기록은 어디에 저장되나요?
사용 중인 브라우저의 localStorage 에만 저장되며 서버로 전송되지 않습니다. 기록 탭의 '기록 지우기'나 브라우저 데이터 삭제로 지울 수 있습니다.
수능이나 자격시험에서 이 사이트를 쓸 수 있나요?
시험장에서는 휴대전화 등 전자기기 사용이 제한되므로 쓸 수 없습니다. 시험별 계산기 규정은 가이드 '시험에서 계산기 쓰는 요령과 규정'에 출처와 함께 정리했습니다. 연습과 검산 용도로 활용하세요.