Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.005 c
14-32337
vajo
2001-12-21 09:09
2002.02.11
Тестирование компьютера.


6-32300
Sectoid
2001-11-21 13:15
2002.02.11
У меня есть исходный код HTML ки. Как мне его глянуть в нормальном виде (как страничку, а не как код)???


1-32181
Ig
2002-01-25 12:37
2002.02.11
Ошибка при StrToDate


1-32214
Giga-Byte
2002-01-25 11:53
2002.02.11
Копирование файлов с ProgressBar


1-32254
Dinara
2002-01-25 22:48
2002.02.11
Разделение строки по шаблону(~regexp)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский