Я плохо знаю английский, не могу спросить лучше, но, пожалуйста, ниже:
если байт в двоичном виде равен 1 0 0 0 0 0 0 0, то результат равен 1
, еслибайт в двоичном виде равен 1 1 0 0 0 0 0 0, тогда результат равен 2
, если байт в двоичном виде равен 1 1 1 0 0 0 0 0, то результат равен 3
, если байт в двоичном виде равен 1 1 1 1 0 00 0, то результат равен 4
, если байт в двоичном виде равен 1 1 1 1 1 0 0 0, то результат равен 5
, если байт в двоичном виде равен 1 1 1 1 1 1 0 0, тогда результат равен 6
, еслибайт в двоичном виде равен 1 1 1 1 1 1 1 0, тогда результат равен 7
, если байт в двоичном виде равен 1 1 1 1 1 1 1 1, то результат равен 8
но если, например, байт в двоичном видеравно 1 1 1 0 * * * *, то результат равен 3.
Я бы определил, сколько бит устанавливается смежным слева направо с помощью одной операции.
Результаты не являются необходимыми числами из1-8, просто что-то отличить.Я думаю, что это возможно в одной или двух операциях, но я не знаю как.
Если вы не знаете решение, столь же короткое, как 2 операции, пожалуйста, напишите это тоже, и я не буду пробовать этобольше.