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

Вниз

побитовое исключающее ИЛИ   Найти похожие ветки 

 
avr555 ©   (2002-01-24 16:07) [0]

Где мне найти в Delphi побитовое исключающее ИЛИ?


 
Adder ©   (2002-01-24 16:30) [1]

а чем xor не устраивает ?


 
avr555 ©   (2002-01-24 16:32) [2]

Мне нужно сравнить два символа.


 
Иван Шихалев ©   (2002-01-24 16:38) [3]

byte(ch1) xor byte(ch2)


 
avr555 ©   (2002-01-24 16:44) [4]

А как мне сделать, чтобы результат был снова символ?


 
Digitman ©   (2002-01-24 16:50) [5]

А это зачем, позволь полюбопытствовать, - сравнивать два символа с использованием операции побитового "исключающего ИЛИ" ? это похоже на поездку из Москвы в Питер через Гондурас)Просто сравнение численных значений их кодов тебя не устраивает ?


 
avr555 ©   (2002-01-24 16:53) [6]

Ну это что-то типа шифрования.
Если потом получить символ, который является результатом побитового сравнения, то получится элементарное шифрование.
Как это сделать в С я знаю, а вот как в Delphi...


 
Romkin ©   (2002-01-24 16:57) [7]

char(byte(ch1) xor byte(ch2)), но очень просто разгадывается, если, конечно, ключ короче сообщения или тоже текст (а не белый шум)


 
Digitman ©   (2002-01-24 17:21) [8]

так СРАВНЕНИЯ или ПРЕОБРАЗОВАНИЯ ? разные ведь вещи абсолютно ! Сравнение не меняет значения операндов, преобразование записывает в результатирующий операнд результат операции.

при выполнении строчки Result:= A XOR B ничего ни с чем не сравнивается (на уровне Паскаля), какого бы типа ни были операнды и то, куда результат выполнения записывается


 
DeCompiler   (2002-01-27 16:57) [9]

На самом деле при использовании xor сравнение ведь происходит, это еще по элементарной алгебре логики известно:
1 xor 1, 0 xor 0 -> 0
1 xor 0, 0 xor 1 -> 1
ЕСЛИ одинаковы ТО 0
ЕСЛИ нет ТО 1

Ну а "если -> то" и есть сравнение...

Преобразования можно достичь всё тем же простейшим присваиванием Result := A xor B, только результат записать в A или B.
A := A xor B.


 
Digitman ©   (2002-01-28 08:27) [10]

"На самом деле ... сравнение" происходит внутри ALU CPU на уровне микрокода. Но мы-то - о Паскале в дан.случае !


 
DeCompiler   (2002-01-28 20:43) [11]

На самом деле ;)) нам и не обязательно знать, где это сравнение происходит, факт - оно есть.
О пасе, так о пасе, но XOR - это инструкция проца и дельфа её юзает ее соответствено, на уровне асма
(на котором эта дельфа и написана). Xor в дельфе и xor в асме в принципе одно и то же, разве что в
дельфе нас не заботит содержимое и размер операндов (байты, ворды, дворды и т.д.). А процедура одинакова

mov [регистр1],[операнд1]
mov [регистр2],[операнд2]
xor [регистр1],[регистр2]

Хоть в пасе, хоть в си, хоть в фортране с азой :)) Процы Intel, они и в Африке процы Intel (только черные)
и инструкции с ними...

А вообще вопрос был: "Где мне найти в Delphi побитовое исключающее ИЛИ?"... Кажется, на него уже
ответили... Xor...



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

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

Наверх




Память: 0.49 MB
Время: 0.01 c
14-32348
Kost
2001-12-20 15:28
2002.02.11
Может быть кто видел такую вещь:


1-32278
Diablo
2002-01-28 15:45
2002.02.11
Need Help!!!!!


3-32161
Макс
2002-01-16 16:45
2002.02.11
Проверка данных на программе клиенте


14-32337
vajo
2001-12-21 09:09
2002.02.11
Тестирование компьютера.


1-32190
Flanker
2002-01-29 11:13
2002.02.11
Активизация кнопочек на форме