![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как развернуть бит ? [D7, XP]
Biternieks © (2009-02-24 02:50:00)Дапустим есть HEX:
09 0C
надо его развернуть, что бы вышло так:
C0 90
Anatoly Podgoretsky (2009-02-24 18:19:00) [1]> sniknik (24.02.2009 18:17:14) [14]
Или как кусок, а ниббле по украински.
sniknik (2009-02-24 18:17:00) [2]> как более умно сказал MBo, нибблами :)
не умно, прикольно...
байт переводится (по созвучному bite) как укус, а ниббл как легкое покусывание/обгрызание... -> полубайт.
тонкий английский юмор.
Palladin (2009-02-24 16:17:00) [3]И байтами тоже :)
пахнет полубайтами или, как более умно сказал MBo, нибблами :)
Anatoly Podgoretsky (2009-02-24 16:14:00) [4]В любос случае битом и битами не пахнет.
Джо (2009-02-24 15:48:00) [5]Вот буквоеды :)
Автор ночью писал, скорее всего, бит с байтом перепутал...
MBo (2009-02-24 15:42:00) [6]По примеру похоже, что автор нибблы (во какое слово ;)) тасует.
Palladin (2009-02-24 14:28:00) [7]30 90 тоесть... )
Palladin (2009-02-24 14:20:00) [8]Стесняюсь спросить, а что же есть бит в понимании автора?
Если в 09 0C "развернуть бит", то будет 03 09, а не C0 90
Anatoly Podgoretsky (2009-02-24 14:17:00) [9]
> да, xor это немного не то, ошибся.
А если C9 9С?
Anatoly Podgoretsky (2009-02-24 14:16:00) [10]Бит он как лента Мебиуса, как ни крути а он все одно.
Джо (2009-02-24 06:20:00) [11]А если преобразование будет много-много раз в цикле вызываться, то оптимальней (по скорости), использовать таблицу соответствий.
Eraser (2009-02-24 06:09:00) [12]да, xor это немного не то, ошибся.
Джо (2009-02-24 04:16:00) [13]Примерно как-то так:
function CycleByte (B: Byte): Byte;
begin
asm
ror AL, 4
mov Result, AL
end;
end;
Eraser (2009-02-24 03:43:00) [14]xor
Biternieks (2009-02-24 02:50:00) [15]желательно C++ like / PHP / ... delphi..