@Paveldjdhhd

Почему в ЯП'ах максимум 64 байта для переменной?

Почему к примеру в golang можно максимум 64 байтную переменную создать для типа int?
Если число больше, то ошибку пишет
  • Вопрос задан
  • 260 просмотров
Решения вопроса 2
Zoominger
@Zoominger
System Integrator
В Пихоне можете хоть стозначное загнать, в ряде математических языков тоже.
Ответ написан
Комментировать
GavriKos
@GavriKos
Для разных переменных разная размерность.
В целом - для оптимизации это. В т.ч. для оптимизации работы с памятью.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347
Crazy on performance...
Это в каком это ЯП 64 байтные инты?
64 бита (8 байт) - размер машинного слова на 64 разрядных машинах, это означает, что у Вас регистры процессора в основном по 64 бита, ячейки памяти, тоже по 64 бита. А значит и 8 битный инт на деле займет 64 бита, хотя если компилятор будет понимать, что вот тут до 8 подряд идущих 8 битных интов (или до 4х 16-битных, до 2х 32 битных), то их можно положить все в одну ячейку.
Инты до 64 бит большинство современных процессоров могут обрабатывать в 1 ассемблерную команду для основных арифметических операций. Для большей разрядности арифметика уже строится алгоритмически. В некоторых случаях ее можно оптимизировать с помощью SIMD инструкций, но в любом случае задача это нетривиальная и далеко не всегда нужная. Поэтому ЯП ориентированные на математические вычисления как правило имеют такие типы данных, а другие языки чаще предлагают использовать библиотеки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы