![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
JS2 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 25.3.2009 Репутация: нет Всего: нет |
Почему Res возвращает вместо 76 - 12? Что нет так? Ведь по сути установил бит/сбросил должно вернуть 76. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Потому что 76 = $4C
$4C or $40 = $4C $4C and (-1 xor $4C) = $C $C = 12 Ты не установил бит $40 - он уже был установлен. А при снятии исчез... |
|||
|
||||
JS2 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 25.3.2009 Репутация: нет Всего: нет |
подскажите как сделать нижеописанное, а то я совсем запутался с битами. Нужно для байта установить 1, 2 биты. Дальше записать изменненный байт в стрим. После считать байт со стрима и и проверить установки битов. Сбросить установленные биты, получить первоначальный байт.
|
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Всё верно, за исключением того, что первый и второй бит - это не $80 и $40, а 1 и 2
Только неясно, зачем потребовались абсолютные переменные. |
|||
|
||||
JS2 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 25.3.2009 Репутация: нет Всего: нет |
лично для меня так проще разбить 4байтовое значение на массив 1байтовых |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 23 Всего: 72 |
Условие поставлено некорректно. Если в байте 1 и (или) 2 биты были установлены (при задании числа), то их повторная установка (в ходе работы программы) ничего не даст, будет то же число. А вот сброс этих битов даст уже другой результат, отличный от первоначального. Задача по получению исходного числа после установки и сброса определенных битов нерешаема в поставленном контексте. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |