Как стать автором
Обновить
12
0
Егор Литвиненко @venicum

Senior software engineer

Отправить сообщение

При каких условиях long long имеет 128 бит (язык, компилятор, cpu)?

Спасибо, что заметили. Такие компиляторы похоже необщеприняты.
При этом long long в плюсах может быть >= 64 бит: https://stackoverflow.com/questions/2143157/is-the-type-long-long-always-64-bits?rq=3.
Пожалуй, лучше было упомянуть long double, тут есть известные 128битные реализации: https://www.ibm.com/docs/ru/aix/7.1?topic=sepl-128-bit-long-double-floating-point-data-type

Скорее всего речь тут о том, что для получения какого-то значения из
упакованного потока нужно распаковать весь поток перед этим.

Не всегда есть необходимость распаковывать весь поток, можно указать смещения и распаковать часть данных.

Тут пример https://github.com/lemire/JavaFastPFOR/blob/master/src/main/java/me/lemire/longcompression/SkippableLongCODEC.java#L67


О потоках речь не идет, потому что поток - это байты, которые поступают. Здесь это не важно, эти же алгоритмы применяются для архивации иммутабельных данных.

Уверен, что не на английском! :)

Вселенная не заканчивается на процессорах общего назначения. В проектах
FPGA и микроконтроллерах, где ОЗУ измеряется в мегабитах (а то и в
килобитах) есть место рационального использования ресурсов.

Имел ввиду, время процессора. Конечно, для этого бывают свои причины.

Вариантный метод довольно интересен, необязательно именно в виде,
представленным в статье. Например, одним сервисным битом переключать 7
или 31 бит на полезную нагрузку.

Далек от микроконтроллеров, но рад, что навело на какие-то мысли!

Спасибо, что упомянули. Не наткнулся на них, когда искал обзоры. Подскажете материал?

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Software Architect
Senior
Java
C++
Python
Linux
SQL
Database
High-loaded systems
Distributed calculations
Algorithms and data structures
Software development