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
   82   83   84   85   86   87   88   89   90   91   92