- 1
- 2
- 3
def decode_flag(event_states: str) -> bool:
flag = 1 if int(event_states, 16) & 10_000_000_000_000_000 else 0
return bool(flag)
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
def decode_flag(event_states: str) -> bool:
flag = 1 if int(event_states, 16) & 10_000_000_000_000_000 else 0
return bool(flag)
Кусок из реального коммерческого проекта
Есть стринга из 8 символов - флагов (0 или 1), но нас интересует только 4 символ в ней
Мне нравится, как типы проаннотировали, а внутри полную хуйню написали.
Чтобы проще было кококонкатенировать с другими строками.
А нет, если константу перевести в хекс, то её хвост будет 0x6FC10000. Нечётные цифры стоят в позициях 2 и 4, т.е. эта штука проверяет event_states[1] or event_states[3].
event_states[0] - 1_000_000_000_000_000_000_000
event_states[1] - 10_000_000_000_000_000_000
event_states[2] - 10_000_000_000_000
event_states[3] - 1_000_000
event_states[4] - 100_000
event_states[5] - 1_000
event_states[6] - ?
event_states[7] - 1
То есть 4 бита на символ, установлен может быть только первый из каждой четвёрки.
Если посмотреть на константу, то проверит она [4] и [6]. Блядь, я с конца строки считаю. Всё правильно написано.
Интересно, можно ли ма-те-ма-тически доказать, что не существует такого n, что (10**n) & 0x11111111 == 0x00001000?