Перейти до вмісту

Науковий калькулятор: степені, корені та тригонометрія

Онлайн-науковий калькулятор зі степенями, коренями, логарифмами log і ln, синусом, косинусом і тангенсом у градусах або радіанах, факторіалами, відсотками та пам’яттю.

Scientific Calculator

Evaluates a typed or tapped expression with the usual order of operations, including powers, roots, logarithms, trigonometry and factorials.

Use + - * / for arithmetic, ^ for powers, ! for factorial and % for percent.

Type an expression or use the keypad to see a result.

Keypad

How this calculator reads an expression

Percent divides by 100 wherever it appears, so 100+10% is 100.1, not 110. Powers group from the right: 2^3^2 is 2^9, which is 512. A minus sign in front of a power is applied last, so -2^2 is -4. Two things written side by side are multiplied, and that multiplication ranks with division, so both are read left to right: 1/2pi means (1/2) times pi, and 6/2(1+2) is 9. Some scientific calculators read 1/2pi the other way, as 1/(2 times pi), so use brackets when the meaning matters. In Degrees mode the tangent is refused at 90 degrees and every odd multiple of it, because it has no value there.

History

No calculations yet. Press = to add one.

Калькулятор завантаження...
📚

Документація

Науковий калькулятор

Науковий калькулятор обчислює значення записаного математичного виразу. Цей калькулятор розпізнає степені, корені, логарифми, тригонометричні функції, факторіали та відсотки, застосовує стандартний порядок виконання операцій і виводить одну відповідь.

Що робить калькулятор

Вираз вводять у поле Expression або формують за допомогою клавіатури. Калькулятор зчитує його одразу після зміни, тому для перегляду відповіді не потрібна клавіша дорівнює. Клавіша = натомість додає обчислення до списку історії.

Він приймає:

  • цифри, десяткову крапку та числа в експоненційному форматі, наприклад 1.5e-3;
  • оператори +, -, *, / і ^ (піднесення до степеня), а також дужки;
  • константи pi і e;
  • функції sin, cos, tan, asin, acos, atan, log, ln, sqrt і cbrt;
  • постфіксні знаки ! (факторіал) і % (відсоток).

Символи на клавіатурі перетворюються на відповідні прості позначення, тому ×, ÷, і π означають те саме, що й *, /, - і pi.

log — це логарифм за основою 10, а ln — натуральний логарифм, за основою e. Так позначають ці функції на наукових калькуляторах TI та Casio, а також у цифровій бібліотеці математичних функцій NIST, розділ 4,2.

Порядок виконання операцій

Правило, яке визначає значення виразу, називається порядком виконання операцій. Цей калькулятор використовує наведену нижче граматику. Кожен рядок викликає рядок під ним, тому вкладеність утворює таблицю пріоритетів: останній рядок має найвищий пріоритет і обчислюється першим.

1expression := term (('+' | '-') term)*
2term       := unary (('*' | '/' | juxtaposition) unary)*
3unary      := ('-' | '+') unary | power
4power      := postfix ('^' unary)?
5postfix    := primary ('!' | '%')*
6primary    := number | constant | name '(' expression ')' | '(' expression ')'
7

У вигляді списку, від першого обчислюваного до останнього:

  1. усе, що міститься в дужках, а також функція, застосована до дужок;
  2. ! і %;
  3. ^;
  4. початковий знак - або +;
  5. *, / і два елементи, записані поруч;
  6. + і -.

Утворені таким чином правила відповідають ISO 80000-2:2019 і статті «Порядок виконання операцій» у Вікіпедії:

ЗаписЧитається якЗначення
2^3^22^(3^2)512
-2^2-(2^2)-4
2^-22^(-2)0,25
2^3!2^(3!)64
100+10%100 + (10/100)100,1
1/2pi(1/2) * pi1,57079632679
6/2(1+2)(6/2) * (1+2)9

Два числа або імена, записані поруч, перемножуються, завдяки чому працюють 2pi, 2(3+4) і 3sin(30). Це неявне множення має такий самий пріоритет, як * і /, тому сусідні елементи та ділення читаються зліва направо. У багатьох портативних наукових калькуляторах неявне множення має вищий пріоритет за ділення, і 1/2pi читається як 1/(2*pi), що дає іншу відповідь. Вікіпедія описує цю відмінність у статті «Методи введення в калькуляторах». Дужки усувають неоднозначність у випадках, де вона має значення.

% ділить на 100 незалежно від свого розташування. Отже, 20% — це 0,2, а 200*15% — це 30. Це не клавіша «відсоток від поточного підсумку» в касовому апараті і не оператор остачі.

Приклад обчислення

Вираз sin(30)+2^3*ln(4) у режимі градусів обчислюється в такому порядку:

  1. sin(30) дорівнює 0,5, оскільки 30 градусів — це половина прямого кута, а його синус дорівнює одній другій.
  2. 2^3 дорівнює 8. Степені обчислюються перед множенням.
  3. ln(4) дорівнює 1,38629436112.
  4. 8 * 1.38629436112 дорівнює 11,090354889.
  5. 0.5 + 11.090354889 дорівнює 11,590354889.

Калькулятор показує 11,590354889.

Другий приклад демонструє правило обчислення зліва направо. У виразі 6/2(1+2) спочатку обчислюється вираз у дужках, унаслідок чого отримуємо 6/2*3. Ділення та неявне множення мають однаковий пріоритет, тому спочатку виконується ділення: 6/2 дорівнює 3, а 3*3 — 9.

Градуси та радіани

Налаштування одиниці кута визначає, як sin, cos і tan інтерпретують вхідне значення, а також у якій одиниці asin, acos і atan повертають результат. У режимі градусів повний оберт становить 360. У режимі радіанів повний оберт становить 2pi, тобто приблизно 6,28318530718. Один і той самий вираз може давати дуже різні результати у двох режимах: sin(30) дорівнює 0,5 у режимі градусів і -0,988031624093 у режимі радіанів.

Як зберігаються та відображаються числа

Кожне значення є числом подвійної точності IEEE 754 binary64 — типом чисел, описаним у ECMA-262, специфікації мови ECMAScript, розділ 6.1.6.1. Число подвійної точності містить приблизно від 15 до 17 десяткових цифр. Відповідь один раз округлюється лише для екрана до 12 значущих цифр. Значення, менші за 0,000001 або більші чи рівні 1 000 000 000 000, показуються в експоненційному форматі, тому 0.0000001 відображається як 1E-7.

Збережене число зберігає повну точність. Пам’ять зберігає точний результат, а не 12 цифр на екрані, і MR вставляє найкоротший текст, який означає те саме число. Від’ємне значення з пам’яті вставляється в дужках, тому після 2 воно читається як множення, а не як віднімання.

Округлення ніколи не використовується для ухвалення рішень. Крихітний залишок від попередніх обчислень є дійсним числом і обробляється як таке. 0.1*3-0.3 не дорівнює нулю у двійковій системі; це приблизно 5,55111512313E-17, тому 5/(0.1*3-0.3) дає 9,00719925474E16, а не повідомлення про ділення на нуль.

З тієї самої причини sin(180) у режимі градусів показує 1,22464679915E-16, а не 0. Похибка тут становить приблизно одну частину на десять квадрильйонів і залишається такою малою. Винятком є тангенс; його обробку описано нижче.

Що калькулятор відхиляє

Калькулятор показує повідомлення замість відповіді, якщо:

  • знаменник точно дорівнює нулю, зокрема якщо введено число, надто мале для числа подвійної точності, наприклад 1e-400, яке після зчитування вже є нулем;
  • sqrt отримує від’ємне число;
  • log або ln отримує число, не більше за нуль;
  • asin або acos отримує число поза межами від -1 до 1 — областю визначення, наведеною в розділі 4,14 довідника NIST DLMF;
  • tan застосовується до 90 градусів або будь-якого його непарного кратного, де ця функція не має значення;
  • факторіал обчислюється не для цілого числа від 0 до 170;
  • число містить другу десяткову крапку, як у 1.2.3;
  • вираз довший за 512 символів.

Обмеження 170 визначається типом чисел, а не налаштуванням: факторіал 170 приблизно дорівнює 7,25741561531E306, що ще вміщується в число подвійної точності, а факторіал 171 — уже ні. Обмеження у 512 символів перевіряється в коді, оскільки саме довжина виразу визначає обсяг роботи калькулятора.

Під час перевірки тангенса кут округлюється до 9 знаків після десяткової крапки. Це усуває похибку від попередніх обчислень, повертаючи значення до точної асимптоти, але створює з кожного боку вікно відмови завширшки приблизно 5e-10 градуса. tan(89.9999999994) повертає 95 493 592 025, а tan(89.9999999995) відхиляється. У режимі радіанів така перевірка не виконується, оскільки введене значення радіана поблизу половини числа pi є звичайним числом без особливого статусу.

Поширені запитання

Що робить клавіша %? Вона ділить на 100 незалежно від місця появи. 100+10% дорівнює 100,1, оскільки означає 100 плюс 0,1. Вона не обчислює відсоток від попереднього результату.

2^3^2 — це 64 чи 512? 512. Степені групуються справа, тому цей вираз означає 2^(3^2), тобто 2^9. Це відповідає ISO 80000-2:2019.

Чому 6/2(1+2) дорівнює 9, а не 1? Неявне множення має такий самий пріоритет, як ділення, а операції однакового пріоритету виконуються зліва направо. Калькулятори, у яких неявне множення має вищий пріоритет, дають відповідь 1. Дужки усувають неоднозначність.

Чому sin(180) не показує 0? Тому що 180 градусів спочатку перетворюються на радіани, а число пі неможливо точно записати у двійковій системі. Результат приблизно дорівнює 1.2e-16 — це справжнє значення синуса числа, яке фактично використала машина.

Чим відрізняються log і ln? log — це логарифм за основою 10, тому log(1000) дорівнює 3. ln — це логарифм за основою e, тому ln(e) дорівнює 1. Позначення на клавіатурі відповідають такій самій угоді, як у наукових калькуляторах TI та Casio.

Чому факторіал, більший за 170, відхиляється? Факторіал 171 більший за будь-яке число, яке може зберігатися у форматі подвійної точності, тому результатом була б нескінченність, а не число. Калькулятор повідомляє про це, замість того щоб показувати беззмістовний результат.

Джерела

  • IEEE 754-2019, стандарт IEEE для арифметики з плаваючою крапкою.
  • ECMA-262, специфікація мови ECMAScript, розділ 6.1.6.1, «Тип Number».
  • ISO 80000-2:2019, «Величини та одиниці», частина 2: математичні знаки й символи.
  • Цифрова бібліотека математичних функцій NIST, розділи 4,2 і 4,14.
  • Вікіпедія, «Порядок виконання операцій».
  • Вікіпедія, «Методи введення в калькуляторах».