Нашли и оформили подборку различных хитрых приёмов с битовыми операциями. С основами битовых операций также можно ознакомиться в нашей статье. Если вы знаете какие-то трюки, которые не вошли в этот список, делитесь ими в комментариях!
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Целые числа
Установка n-ого бита
x | (1<<n)
Обнуление n-ого бита
x & ~(1<<n)
Переключение n-ого бита
x ^ (1<<n)
Округление до следующей степени двойки
unsigned int v; //only works if v is 32 bit
v--;
v |= v >> 1;
v |= v >> 2;
v |= v >> 4;
v |= v >> 8;
v |= v >> 16;
v++;
Получение максимального целого
int maxInt = ~(1 << 31);
int maxInt = (1 << 31) - 1;
int maxInt = (1 << -1) - 1;
AND by chr(31)/binary('11111')/(hex('1F') => (x & "\x1F")
Result is in 1..26 range, letter case is not important
eg. ('a' & "\x1F") => 1 ; ('B' & "\x1F") => 2
Номер заглавной буквы в алфавите
AND by ? => (x & '?') or XOR by @ => (x ^ '@')
eg. ('C' & '?') => 3 ; ('Z' ^ '@') => 26