|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.02.2009, 10:14 | #1 |
Пользователь
Регистрация: 23.02.2009
Сообщений: 12
|
Работа с битами
Прошу помощи знающих. Читал литературу, не могу понять некоторые моменты.
Задание: Ввести последовательность из 8 символов. В их двоичном представлении заменить: если старший бит 1, заменить его на 0; если старший бит 0, заменить его и младший бит единицами. Вывести исходную последовательность и ее восьмеричные коды; преобразованную последовательность и ее восьмеричные коды. Код:
Последний раз редактировалось kesha2008; 23.02.2009 в 10:18. |
24.02.2009, 01:28 | #2 |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
может понадобится...
Код:
|
24.02.2009, 12:05 | #3 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Старший бит идёт с номером 7. нумерация справа. Чтобы определить, что старший бит у нас 1, нужно выполнить побитовое логическое И.
код_символа & 10000000 Если это выражение вернёт истину, значит старший бит у нас равен 1. 10000000 - число в двоичной системе, состоящее из 8 бит. Нужно проверить 7-ой бит, так что в этом числе 7-ой бит у нас равен 1. Если бы нам нужно было проверить третий бит, то было бы уже число 00001000. В си двоичных констант кажется нет, так что придется это число переводить к основанию 10/8/16. будет как-то так: Код:
ЗЫ2. Если совсем ничего непонятно, изучайте булеву алгебру |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача. Работа с псевдослучайными последовательностями (ПСП). Работа с цветом. | 0101 | Помощь студентам | 3 | 17.12.2009 23:57 |