Умные вопросы
Войти
Регистрация
Информатика вступительные, срочно!
Петя посылает Ване числовые коды от 0 до 255. Однако, эти коды особо важны — их могут перехватить, поэтому ребята договорились их шифровать. Алгоритм шифрования состоит из пяти шагов и выглядит следующим образом: Записать пересылаемое число в виде восьмиразрядного битового кода (от 00000000 до 11111111) . Определить количество нулей в записи битового кода a и количество единиц в записи битового кода b. Левые a битов сдвинуть циклически влево на b разрядов, а правые b битов сдвинуть циклически вправо на a разрядов. Выполнить поразрядную инверсию. Перевести число в десятичную систему счисления. То есть число 129 будет преобразовано сначала в 10000001, затем разобьется на части 100000 01, которые преобразуются в 000010 01, после инверсии 11110110, что равно 246. Определите, какое число получит Ваня, если Петя закодировал число 246
1 год
назад
от
Иван Надеющийся
1 ответ
▲
▼
0
голосов
Из условия задачи видно, что 246 = 11110110.
В двоичной записи два нуля, то есть a = 2.
И шесть единиц, то есть b = 6.
Делим число на две части: a битов слева и b битов справа.
11110110 = 11 110110
Циклический сдвиг левых битов ничего не меняет, так как все левые биты одинаковые.
Правые биты сдвигаем вправо на a = 2 разряда
11 110110 = 11 101101
Делаем поразрядную инверсию: все 0 становятся 1, а все 1 становятся 0.
11 101101 = 00 010010
Переводим число в десятичную систему:
00010010 = 128 * 0 + 64 * 0 + 32 * 0 + 16 * 1 + 8 * 0 + 4 * 0 + 2 * 1 + 1 * 0 = 16 + 2 = 18
1 год
назад
от
Елизавета Тимощенко
Связанные вопросы
2
ответов
Вопрос к специалистам Какое качество у китайских бензорезов?
1 год
назад
от
$tervachk@
2
ответов
Литьё свинца в формовочную смесь.
4 года
назад
от
Светлана Серик
2
ответов
in the last days of a month почему в этом преложении мы обязаны ставить the перед днём
3 года
назад
от
Sacred Flame