Page 87 - 6105
P. 87
Коли відбувається додавання 0.1 і 0.2, то дві неточності додаються,
отримуємо незначну, але все ж помилку в обчисленнях. Звичайно, це не означає,
що точні обчислення для таких чисел неможливі. Вони можливі. І навіть
необхідні. Наприклад, є два способи додати 0.1 і 0.2:
Зробити їх цілими, додати, а потім поділити:
alert ((0.1 * 10 + 0.2 * 10) / 10); // 0.3
Це працює, так як числа 0.1 * 10 = 1 і 0.2 * 10 = 2 можуть бути точно
представлені в двійковій системі.
Додати, а потім округлити до розумного знака після коми. Округлення до
10-го знака зазвичай буває достатньо, щоб відсікти помилку обчислень:
var result = 0.1 + 0.2;
alert (+ result.toFixed (10)); // 0.3
JavaScript надає базові тригонометричні і деякі інші функції для роботи з
числами. Вбудовані функції для тригонометричних обчислень:
Math.acos (x) – повертає арккосинус x (в радіанах);
Math.asin (x) – повертає арксинус x (в радіанах);
Math.atan (x) – повертає арктангенс x (в радіанах);
Math.atan2 (y, x) – повертає кут до точки (y, x);
Math.sin (x) – обчислює синус x;
Math.cos (x) – обчислює косинус x;
Math.tan (x) – повертає тангенс x;
Різні корисні функції:
Math.sqrt (x) – повертає квадратний корінь з x;
Math.log (x) – повертає натуральний (по підставі e) логарифм x;
Math.pow (x, exp) – підносить число до степеня;
Math.abs (x) – повертає абсолютне значення числа;
x
Math.exp (x) – повертає e , де e - основа натуральних логарифмів;
Math.max (a, b, c ...) – повертає найбільше значення зі списку аргументів;
86