[Перевод] Проверка високосности года в трёх командах CPU

Показанным ниже кодом вы можете проверить на високосность год в интервале 0 ≤ y ≤ 102499 всего примерно тремя командами CPU: bool is_leap_year_fast(uint32_t y) { return ((y * 1073750999) & 3221352463) <= 126976; } Как это работает? Ответ на удивление сложен. В статье я объясню процесс; в основном он связан с забавным битовым жонглированием. В конце мы обсудим применение этого кода на практике.

https://habr.com/ru/articles/910188/

#високосный_год #leap_year #битовые_операции #битовые_трюки

Проверка високосности года в трёх командах CPU

Показанным ниже кодом вы можете проверить на високосность год в интервале 0 ≤  y  ≤ 102499 всего примерно тремя командами CPU: bool is_leap_year_fast(uint32_t y) { return ((y * 1073750999)...

Хабр

[Перевод] Проверка високосности года в трёх командах CPU

Показанным ниже кодом вы можете проверить на високосность год в интервале 0 ≤ y ≤ 102499 всего примерно тремя командами CPU: bool is_leap_year_fast(uint32_t y) { return ((y * 1073750999) & 3221352463) <= 126976; } Как это работает? Ответ на удивление сложен. В статье я объясню процесс; в основном он связан с забавным битовым жонглированием. В конце мы обсудим применение этого кода на практике.

https://habr.com/ru/articles/910188/

#високосный_год #leap_year #битовые_операции #битовые_трюки

Проверка високосности года в трёх командах CPU

Показанным ниже кодом вы можете проверить на високосность год в интервале 0 ≤  y  ≤ 102499 всего примерно тремя командами CPU: bool is_leap_year_fast(uint32_t y) { return ((y * 1073750999)...

Хабр

Алгоритмы манипуляций с битами

в статье приведены алгоритмы обработки коротких битовых строк, обычно вмещающихся в машинное слово, в большей степени эти алгоритмы предназначены для обработки строк длины 32 или 64, но многие из них можно применять для SIMD инструкций или даже GPU.

https://habr.com/ru/articles/886182/

#алгоритмы #битовая_магия #битовые_трюки

Алгоритмы манипуляций с битами

TL; DR в статье приведены алгоритмы обработки коротких битовых строк, обычно вмещающихся в машинное слово, в большей степени эти алгоритмы предназначены для обработки строк длины 32 или 64, но многие...

Хабр