В уроке рассказывалось про числа и как с ними работать в JavaScript. Какие рассматривались подтемы?
1. Числа с плавающей точкой.
При 0,3 – 0,2 получится 0,0999999 и т. д.
Почему так? Почему не 0,1? Говорят, что количество вещественных чисел бесконечно, а память компа ограниченна, а память программы еще меньше, поэтому физически невозможно вместить все числа вообще. Поэтому придумали такой компромисс, чтобы уместиться в размер памяти, выделяемой для программы. Суть компромисса — представлять как можно больше чисел в пределах отведенной памяти. Такая фигня распространяется на числа с плавающей точкой.
2. IEEE754.
Это стандарт, описывающий формат представления чисел с плавающей точкой. Почему он был придуман? Потому что, кажется, разные машины и программы работали с такими числами по-разному, ну и для исключения путаницы решили сделать стандарт.
Этот стандарт описывает:
— формат чисел (как они представляются);
— специальные значения (бесконечность, не числа, нули);
— операции (тут не понял; мож, потом узнаю);
— исключительные операции (деление на ноль и подобное прочее).
3. Бесконечность (Infinity)
Это первая особенность стандарта почему-то.
Тут просят обратить внимание на то, что бесконечность может быть как положительной, так и отрицательной.
1 / 0 — получается положительная бесконечность.
–1 / 0 = отрицательная бесконечность.
4. NaN (не число) — Not a Number
Зачем оно надо? Ой, трудно для моего понимания. Ща попробую. Для того, чтобы операции в определенных случаях, где невозможно получить число, возвращали какое-то вычисление.
0 / 0
3 % 0
0 * бесконечность
–бесконечность + бесконечность
3 / "строка" — тоже будет NaN
Еще раз попытка объяснить самому себе: не число при попытке взаимодействия с числом дает не число, то есть NaN.
5. +0 и –0.
В стандарте есть положительный и отрицательный нули.
В некоторых редких операциях это важно.
1 / (1 / бесконечность) = бесконечность
1 / (1 / –бесконечность) = –бесконечность
При чем тут бесконечности — я не понял.
6. Нормализованная форма или Экспоненциальная форма.
Буду встречаться числа вроде 1,23е5. Их пугаться не надо, читаются они просто. Это 123000.
Часть до буквы "е" называется мантиссой, после — степенью. Получается 1,23 * 10^5.
Может встречаться и так: 1,23е+5 — это то же самое, что и без плюса.
* * *
Ух. Все на сегодня. Итого минут 30. А это значит 275 + 30 = 305 минут программиста. Или 5 часов из 10000 до профессионала.
Комментариев нет:
Отправить комментарий