THE_ALGORITHMS Telegram 4822
Нахождение логарифма по основанию 2 от N-битного числа за O(lg(N)) операций. Метод для чисел, которые являются степенями двойки

Пример работы:

Для числа 16 (в двоичной форме 10000):
- Первая маска 0xAAAAAAAA проверяет биты на четных позициях, в данном случае это бит 4, который не установлен.
- Вторая маска 0xCCCCCCCC проверяет блоки по два бита, в данном случае это биты 6-7, которые не установлены.
- Третья маска 0xF0F0F0F0 проверяет блоки по четыре бита, в данном случае это бит 8, который не установлен.
- Четвертая маска 0xFF00FF00 проверяет блоки по восемь бит, в данном случае это биты 16-23, которые не установлены.
- Пятая маска 0xFFFF0000 проверяет старшие шестнадцать бит, в данном случае это бит 16, который установлен.

Таким образом, для числа 16 (двоичный 10000) результат будет 4, так как 16 является 2^4.



tgoop.com/the_algorithms/4822
Create:
Last Update:

Нахождение логарифма по основанию 2 от N-битного числа за O(lg(N)) операций. Метод для чисел, которые являются степенями двойки

Пример работы:

Для числа 16 (в двоичной форме 10000):
- Первая маска 0xAAAAAAAA проверяет биты на четных позициях, в данном случае это бит 4, который не установлен.
- Вторая маска 0xCCCCCCCC проверяет блоки по два бита, в данном случае это биты 6-7, которые не установлены.
- Третья маска 0xF0F0F0F0 проверяет блоки по четыре бита, в данном случае это бит 8, который не установлен.
- Четвертая маска 0xFF00FF00 проверяет блоки по восемь бит, в данном случае это биты 16-23, которые не установлены.
- Пятая маска 0xFFFF0000 проверяет старшие шестнадцать бит, в данном случае это бит 16, который установлен.

Таким образом, для числа 16 (двоичный 10000) результат будет 4, так как 16 является 2^4.

BY Алгоритмы и структуры данных




Share with your friend now:
tgoop.com/the_algorithms/4822

View MORE
Open in Telegram


Telegram News

Date: |

The administrator of a telegram group, "Suck Channel," was sentenced to six years and six months in prison for seven counts of incitement yesterday. As the broader market downturn continues, yelling online has become the crypto trader’s latest coping mechanism after the rise of Goblintown Ethereum NFTs at the end of May and beginning of June, where holders made incoherent groaning sounds and role-played as urine-loving goblin creatures in late-night Twitter Spaces. Earlier, crypto enthusiasts had created a self-described “meme app” dubbed “gm” app wherein users would greet each other with “gm” or “good morning” messages. However, in September 2021, the gm app was down after a hacker reportedly gained access to the user data. In the next window, choose the type of your channel. If you want your channel to be public, you need to develop a link for it. In the screenshot below, it’s ”/catmarketing.” If your selected link is unavailable, you’ll need to suggest another option. To edit your name or bio, click the Menu icon and select “Manage Channel.”
from us


Telegram Алгоритмы и структуры данных
FROM American