Pull to refresh
14
0
Егор Литвиненко@venicum

Senior software engineer

Send message

При каких условиях 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 бит на полезную нагрузку.

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

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

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity

Specialization

Бэкенд разработчик, Архитектор программного обеспечения
Старший
Java
C++
Python
Linux
SQL
Базы данных
Высоконагруженные системы
Распределённые вычисления
Алгоритмы и структуры данных
Разработка программного обеспечения