Здравствуйте, tyomchick, Вы писали:
С>>Есть. Двигать вправо, читать по 4 битика и проверять — не больше ли они, чем 9.
T>Ну это "в лоб", я думал может какая битовая магия есть.
Типа такой, что ли?
bool is_bcd(ui32 x) {
return 0 == ((((x >> 1) & 0x77777777) + 0x33333333) & 0x88888888);
}
Неужели этот код настолько часто исполняется, что стоит заморачиваться с подобными оптимизациями? :)