• Правильно ли объясняется в тексте почему в 1 кб 1024 байт?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Нет, неправильно.
    То, что было в перфокартах для контроля четности - это оставьте перфокартам, контроль четности и кодирование данных никак не связаны с обозначением кило и 1024. И уж тем более 1025 вообще далеко от ИТ.

    Все проще.
    Берем 1 бит, можем оперировать двумя значениями 0 и 1
    2 бита - 4 значения, 0-3
    3 бита - 8, 0-7
    4 бита - 16, 0-15
    5 бит - 32, 0-31
    6 бит - 64, 0-63
    7 бит - 128, 0-127
    8 бит - 256, 0-255
    9 бит - 512, 0-511
    10 бит - 1024, 0-1023

    Нет такого набора бит, чтобы мы могли оперировать ровно 1000 значений. 9 бит мало, а 10 бит позволяют оперировать уже 1024 значениями. Ограничиваьт себя искусственно нет смысла.
    Поэтому на железном уровне в качестве адресации используются степени двойки, чтобы максимально эффективно использовать все используемые биты и память.
    Следовательно ближайшее к 1000 "компьютерное" число это 1024, отсюда в килобайте 1024 байт.

    Для бизнеса это оказалось не очень удобно. И вообще много технических моментов обычным пользователям непонятно почему и как, например с теми же жесткими дисками, когда объем неотформатированного диска и отформатированного может отличаться на заметные процентов 10-15.
    Кроме того, в системе Си, приставки кило, мега, и так далее всегда означали 1000 чего-то. Поэтому с исторически сложившимся 1024 в ИТ отрасли сложилась некомфортная ситуация. Для исправления и появились новые названия, кибибайты, мегибайты, а килобайты и мегабайты по общепринятой системе Си теперь кратны 1000. Но это важно для стандартизации, маркетинга, а не для программирования.

    В программировании ничего не изменилось, и как бы их не называли кибибайт или килобайт, при программировании оперируют степенями двойки, а не десятки.
    Ответ написан
    Комментировать
  • Какой выбрать движок для игры?

    @maximsemin23
    1. В зависимости от языка, который ты знаешь. Unity - c#, ue - c++.
    2. Для игры которую ты написал, я советую unity. c# легче для изучения, да и сам движок довольно простой. Возможностей unity меньше, но хватает с головой для игры, которую ты описал.
    3. Вывод: если не знаешь c# и знаешь c++, то используй ue. В остальных случаях unity лучше
    Ответ написан
    6 комментариев