Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.27;
Скачать: CL | DM;

Вниз

Поменять байты местами   Найти похожие ветки 

 
secher   (2005-03-14 12:41) [0]

подскажите плиз как поменять местами байты в переменной Word
например 0100 сделать 0001


 
begin...end ©   (2005-03-14 12:42) [1]

Например, с помощью функции Swap.


 
P.N.P. ©   (2005-03-14 12:47) [2]

Если как в примере, то 4 shr 2,
см. хелп - Logical operators


 
begin...end ©   (2005-03-14 12:57) [3]

> P.N.P. ©   (14.03.05 12:47) [2]

Кто ж его знает - может быть, он написал в шестнадцатеричной системе :-)

var
 W: Word;
begin
 W := ...;
 W := ((W and $FF) shl 8) or ((W and $FF00) shr 8)
end.


 
TUser ©   (2005-03-14 13:47) [4]

второй and лишний


 
Юрий Зотов ©   (2005-03-14 14:07) [5]

Первый тоже...
:о)


 
begin...end ©   (2005-03-14 16:29) [6]

Согласен. Приношу извинения.


 
stakan ©   (2005-03-14 17:43) [7]


var
 L: Byte;  
 H: Byte;
 R: Word;
begin
 R := 0;
 L := Lo(Исходное значение);
 H := Hi(Исходное значение);
 R := L;
 R := R SHL 8;
 R := R + H;   //результат

Код несколько избыточен, для наглядности


 
Юрий К   (2005-03-14 19:52) [8]

w: Word;
pch: PChar;
ch: Char;

pch: = PCHAR(@w);
ch := pch[0];
pch[0] := pch[1];
pch[1]: = ch;


 
palva ©   (2005-03-14 20:09) [9]

Где-то на этом форуме уже видел такую функцию:

function SwapW(i: Word): Word;
asm
 XCHG al,ah
end;

Можно и в двойном слове байты в противоположном порядке разместить:

function SwapL(i: LongWord): LongWord;
asm
 BSWAP eax
end;


 
default ©   (2005-03-14 20:46) [10]

можно ещё через ROR[ROL], три XOR"а, но быстрей всего через XCHG


 
begin...end ©   (2005-03-14 20:48) [11]

Ещё с CopyMemory можно


 
secher   (2005-03-15 04:16) [12]

Sorry.. Вношу поправку данные в шестнадцатеричном виде



Страницы: 1 вся ветка

Текущий архив: 2005.03.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.068 c
3-1109214255
Анатолик
2005-02-24 06:04
2005.03.27
Подскажите уважаемые, делаю вуборкус помошью запроса из БД,


14-1110154946
АНТИспаммер
2005-03-07 03:22
2005.03.27
Какими Вы видите компьютеры и ОС лет через 10 ?


8-1102414706
dr Tr0jan
2004-12-07 13:18
2005.03.27
Не могу снять скриншот


14-1110369170
Ega23
2005-03-09 14:52
2005.03.27
"Не активна" или "Неактивна"?


1-1110624874
Checist [root]
2005-03-12 13:54
2005.03.27
ShowWindow глючит?