Форум: "Основная";
Текущий архив: 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.006 c