![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 17.10.2011
Сообщений: 1
|
![]()
Как правильно выполнить циклический сдвиг бит и обратиться к какому либо биту?
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
Ratatui
циклический сдвиг выполняется командами: ROR, ROL, RCR, RCL выделяют бит при помощи AND или OR и затем что-то делают с ним, для проверки содержимого используют TEST или BT, команды сканирования бит BSF и BSR, команды проверки и модификации бит: BT, BTC, BTR, BTS. При определенном навыке можно использовать арифметические и логические команды: Для обнуления крайнего справа единичного бита (например, 01011000 -> 01010000) используется формула X AND (X – 1) Установка крайнего справа нулевого бита (01011100 -> 01011110) X OR (X+1) Для выделения крайнего справа единичного бита (01011000 -> 0001000) X AND(-X) Для выделения крайнего справа нулевого бита (10100111 -> 00001000) (NOT X)AND(X+1) Для выделения завершающих нулевых битов (например, 01011000 -> 00000111) можно использовать одну из трех формул: 1)(NOT X)AND(X-1) или 2) NOT(X OR(-X)) или 3)(X AND(-X))-1 Для выделения крайнего правого единичного бита и всех завершающих нулей (01011000 -> 00001111) X XOR (X-1) Распространение вправо крайнего правого единичного бита (например 01011000 -> 01011111) X OR (X-1) Обнуление крайней справа непрерывной подстроки единичных битов (01011100 -> 01000000) ((X OR(X-1))+1) AND X Последний раз редактировалось Mikl___; 12.10.2012 в 04:43. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Циклический сдвиг | Санеk | Паскаль, Turbo Pascal, PascalABC.NET | 17 | 26.12.2015 01:31 |
циклический сдвиг | browserpro | Помощь студентам | 0 | 08.12.2011 20:48 |
циклический сдвиг | zvir | Помощь студентам | 4 | 02.12.2011 09:41 |
циклический сдвиг | revaldo666 | Общие вопросы C/C++ | 4 | 29.03.2011 17:34 |
Циклический сдвиг в С | rand8154 | Общие вопросы C/C++ | 1 | 14.11.2009 01:49 |