LerpworksAcademy
На этой странице

Математика и физика › Переходы, случайность, числа

Числа в компьютере: целые, float и точность

Внутри компьютера каждое число — ряд переключателей «да или нет», и их всегда конечное количество. Отсюда странности чисел в играх: счёт, который после максимума становится отрицательным, 0.1 + 0.2, не равное 0.3, часы, отстающие за сутки на сорок минут, дрожание моделей вдали от центра мира и чёрные квадраты на экране. Разберём, как хранятся целые и дробные числа и какие правила из этого следуют.

Зачем это

Игра всё время считает: позиции, время, золото, цвет пикселей. Почти всегда числа ведут себя как в тетради. Но у каждого числа в компьютере есть предел и шаг, и когда игра до них добирается, ошибка выглядит мистикой: предмет дрожит, таймер врёт, проверка «равно» не срабатывает, экран чернеет. Кто знает устройство, узнаёт такие ошибки с первого взгляда.

Это последний урок курса «Математика на пальцах». Из прошлых уроков понадобится только нормализация вектора.

Дальше в статье

  1. Двоичная запись: всё из «да» и «нет»
  2. Целые числа
  3. Дробные числа: научная запись
  4. Почему 0.1 + 0.2 не равно 0.3
  5. Ошибки копятся
  6. Деньги и счёт — в целых
  7. Мало бит: половинная точность и упаковка
  8. Ноль, бесконечность и «не число»
  9. В движках и Blender
  10. Где ломается
  11. Связи: та же идея в других областях
  12. Главное
  13. Проверь себя