Сейчас на форуме: zombi-vadim, zds (+4 невидимых)

 eXeL@B —› Программирование —› Альтернатива xor
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . >>
Посл.ответ Сообщение

Ранг: 3.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 05 августа 2006 03:18
· Личное сообщение · #1

Q:Как можно заменить команду xor, например через другие логические операторы или через +-*/?



Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 07 августа 2006 02:02
· Личное сообщение · #2

Quantum пишет:
Ещё одно доказательство, что xor == sub

Вот еще одно доказательство:
al = 0DDh
cl = 0DDh

xor al,cl

al = 0

а итог:
0101
0011
------
0110

rmn пишет:
совпадение
(ну что тут можно еще сказать, ас в программировании!)

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com




Ранг: 26.7 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 07 августа 2006 02:12 · Поправил: SubV
· Личное сообщение · #3

Rascal, я в том смысле, что VC++ оптимизирует подобные выражения, т.е. вычисляет то, что может быть константой и минимизирует логические выражения. Наиболее хорошо в этом плане дела обстоят у Visual C++ 2003 и 2005 с подключенным компилятором Intel C++ compiler v9.1. Знаю, ибо проверял, в том числе и с использованием SSE.

Demon666 Век живи - век учись! Оказывается, нам пудрят мозги! Сложение по модулю 2 на самом деле эквивалент вычитанию... Надо бы написать коллективное письмо в Intel и AMD c просьбой исключить xor из набора инструкций следующего поколения cpu!



Ранг: 29.5 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 07 августа 2006 04:15
· Личное сообщение · #4

Rascal пишет:
физически в компе все операции вычитания заменяются на сложение и отрицание.

На чём основано сиё утверждение?

Rascal пишет:
Кста, если мне не изменяет память эта функция называется сумма по модулю два

Да, так и называется, но какое это отношение имеет к xor?!

Rascal пишет:
Хотя если операнды однобитовые то можно говорить о сложении

Да, xor - есть сложение для однобитных операндов. И также является вычитанием для однобитных операндов! Ведь 1 == -1



Ранг: 26.7 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 07 августа 2006 06:21 · Поправил: SubV
· Личное сообщение · #5

Хотя вопрос и не мне

Quantum пишет:
На чём основано сиё утверждение?


На знании о том, как работает процессор ))) Точнее, все операции заменяются на сложение, т.к. это единственное, что он (процессор) умеет. Ну да, еще пересылка данных, ага... Предвидя возражения, скажу сразу, что речь идет о самом низком (микропрограммном) уровне выполнения инструкций.

Quantum пишет:
Да, так и называется, но какое это отношение имеет к xor?!


LOL! Сумма по модулю 2 и есть xor aka eXclusive OR aka Исключающее ИЛИ. Самое прямое отношение, т.к. это одно и то же. RTFM.

Quantum пишет:
Да, xor - есть сложение для однобитных операндов. И также является вычитанием для однобитных операндов! Ведь 1 == -1


1 никак не может быть равно -1, ибо -1 это 0xffffffff. Еще раз, XOR - это сложение по модулю 2, логическая операция, и к арифметической операции сложения отношения сабж не имеет.

FFFFFFFF
xor
00000001
--------
FFFFFFFE


Прилагаю неплохой 'калькулятор крэкера'. Надеюсь, он поможет вам раз и навсегда решить 'проблему миллениума' - что же ТАКОЕ этот XOR?!



Ранг: 26.7 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 07 августа 2006 06:29
· Личное сообщение · #6

Cracker's Calculator by Quasar

9645_07.08.2006_CRACKLAB.rU.tgz - ccalc.exe



Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 07 августа 2006 07:51
· Личное сообщение · #7

SubV
ПУсть читают знаменитый талмуд по CRC32 он уже давно выложен на васм.ру

-----
My love is very cool girl.





Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 07 августа 2006 08:43
· Личное сообщение · #8

SubV пишет:
1 никак не может быть равно -1, ибо -1 это 0xffffffff.

Вроде бы речь шла про однобитные операнды. Твой пример ниже на числах показывает, что Quantum прав - sub все-таки имеет место.
FFFFFFFF
xor
00000001
--------
FFFFFFFE



Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 07 августа 2006 08:56
· Личное сообщение · #9

А что, почему бы и нет? Взять и завертеть цикл по одному биту xor`ить

-----
My love is very cool girl.




Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 07 августа 2006 13:18 · Поправил: rmn
· Личное сообщение · #10

Несколько примеров, доказывающих, что xor - это все арифметические операции ))

2B XOR 23 == 2B - 23 => 08
2B XOR 2A == 2B - 2A => 01
B4 XOR 34 == B4 - 34 => 80

2B XOR 2A == 2B / 2A => 01
37 XOR 36 == 37 / 36 => 01
B5 XOR B4 == B5 / B4 => 01
B7 XOR B6 == B7 / B6 => 01
D9 XOR D8 == D9 / D8 => 01

2B XOR 40 == 2B + 40 => 6B
33 XOR 48 == 33 + 48 => 7B
B4 XOR 40 == B4 + 40 => F4

36 XOR 6A == 36 * 6A => 5C
B4 XOR E4 == B4 * E4 => 50
DE XOR A2 == DE * A2 => 7C
E0 XOR E0 == E0 * E0 => 00
E2 XOR 9E == E2 * 9E => 7C




Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 07 августа 2006 13:21
· Личное сообщение · #11

полный список

727d_07.08.2006_CRACKLAB.rU.tgz - res.rar




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 07 августа 2006 14:37 · Поправил: Rascal
· Личное сообщение · #12

Demon666
Обрати внимание - на одинаковых входных данных функция возвращает 0, это её свойство, и оно никак не связано с арифметикой.

Quantum пишет:
На чём основано сиё утверждение?

Почитай книги по алгебре логики и поймёшь.

Ara
Этот однобитный пример. Для доказательства, что функция действительно выполняет вычитание покажи на всех доступных наборах входных данных правильность этого утверждения. Причём не только однобитных. Т.к. в однобитных операциях не требуется перенос бита в старший разряд. Тогда в однобитных and будет вполне рабочим умножением ;) Ну а далее то, больше 1 что будет

theCollision
Фперёд. Если б нашёл я бы выложил сюда схему арифметического устройства моего из курсачв. Он на xor и "не" был построен. Ты бы посмотрел чего стоило сделать из этого сумматор 32 разрадных чисел ;)

rmn
Отжог =)))

-----
Недостаточно только получить знания:надо найти им приложение





Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 07 августа 2006 15:00
· Личное сообщение · #13

SubV пишет:
Rascal, я в том смысле, что VC++ оптимизирует подобные выражения, т.е. вычисляет то, что может быть константой и минимизирует логические выражения. Наиболее хорошо в этом плане дела обстоят у Visual C++ 2003 и 2005 с подключенным компилятором Intel C++ compiler v9.1. Знаю, ибо проверял, в том числе и с использованием SSE.

Да, компилеры сильны. Класс чтоб проверить пришлось написать задание параметров через cin, а то он уже компилил с результатом

-----
Недостаточно только получить знания:надо найти им приложение




Ранг: 384.1 (мудрец)
Активность: 0.250
Статус: Участник
www.int3.net

Создано: 07 августа 2006 15:00
· Личное сообщение · #14

rmn пишет:
что xor - это все арифметические операции

и не только, помню как тройные интегралы с помощью XOR считали в лет ;)
поэтому во многих криптоалгоритмах применяют XOR, быстро и эффективно!

-----
Подписи - ЗЛО! Нужно убирать!




Ранг: 26.7 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 07 августа 2006 17:29
· Личное сообщение · #15

nice пишет:
и не только, помню как тройные интегралы с помощью XOR считали в лет ;)


тройные интегралы - это уже имхо не арифметика а вообще, это вопрос вкуса )))

ну что, теперь обсудим что такое операция OR (AND, SHR, RCR etc)?




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 07 августа 2006 19:30
· Личное сообщение · #16

SubV
А давайте ряды фурье раскладывать через XOR да 3ьи производные искать. Не арифметика, а высшая математика, должно потянуть

-----
Недостаточно только получить знания:надо найти им приложение




Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 07 августа 2006 20:49
· Личное сообщение · #17

Rascal
xor это не алгебра (это мнемокод), а обычный “тригер” на входах которого, если появятся два сигнала на выходе сигнал исчезает, если на входе один из сигналов равен ~0 то на выходе сигнал будет, короче…
Вход<-> Вход=выход
1<->1=0
1<->0=1
0<->1=1
0<->0=0
а там хоть складывай или отнимай процессору все равно для него главное, сколько вольт вешать в граммах!

P. S.
Так утрировано без научных терминов.

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com





Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 07 августа 2006 21:21
· Личное сообщение · #18

Demon666
Как у тя с чувством юмора?

Demon666 пишет:
xor это не алгебра (это мнемокод), а обычный “тригер”

Вижу под умного косишь... xor это название, и никак не триггер. Это символьное обозначение логической функции, таблица истинности которой для 2-х операндов описана в моём посте в конце первой страницы. И причём здесь алгебра??? Вижу у тя совсем худо стало с чем-то. Советую не лезть в тему, в которой плаваешь как топор ;)

Demon666 пишет:
Так утрировано без научных терминов.

Утрировано здесь обсуждается уже с третьего поста, ибо именно с 3-го поста нет ни одной светлой мысли по поводу темы топика.

-----
Недостаточно только получить знания:надо найти им приложение




Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 07 августа 2006 21:22
· Личное сообщение · #19

Demon666
Блин, выразил в словесах, то что я видел в мыслях, но не мог понять! Тебе бы скальдом быть!

-----
My love is very cool girl.




Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 07 августа 2006 21:32
· Личное сообщение · #20

Rascal
Ты не прав! Открой старые учебники по электроннике или всем известный справочник Шило! Взгляни на работу схем, увидишь в основном все и вся завазано на трех логиках - И , ИЛИ , НЕ . Отсюда комбинируют: 2И-НЕ и получают а-ля элеммент Шеффера! Долго не думают и творят ИЛИ-НЕ , в итоге Стрелка Пирса.

То что мы привыкли видеть, а это сложение, деление, вычитание, на машине производится путем комбинации этих 3х логик!
Правда "наша советская" от "буржуазной интеловской" отличается уровнем активации, если у нас это фронт ( перепад с логическго нуля на единицу), то у них это срез( перепад с 1 на 0, что тоже кстати логично в плане схемотехники). Это единственное отличие нашей и импортной схемотехники, к тому же старая советская уже исчезает.

Ну да ладно не о том говорю, а том, что в Intel-процессорах , тоже завязано на И,ИЛИ,НЕ, а комбинации сводятся к громадным JK-триггерам,дешифраторам,шифраторм, сдигающим регистрам и т.п.
То что пытылся выразить Demon666 это взгляд электронщика, т.к. машина не умеет "xor" ить и ее этому надо научить!

-----
My love is very cool girl.





Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 07 августа 2006 22:08 · Поправил: Rascal
· Личное сообщение · #21

theCollision
Сегодня меня все как я вижу пытаются удивить. Знаешь, почему и, или, не используется - эта комбинация операций по теореме яблонского-поста (хм, далее в тетради написано т. Фроста-Яблонского, видимо плеер слушал, интеренсо какой из вариантов прваилен, вроде Пост)обладает имеет 5 признаков поноты системы функций. Использоватся она стала потому как на основе этого работал Буль и создал свою алгебру, никем не востребованную в в 19 веке вроде, она не просто достаточна, она избыточна, в отличии от срелки пирса и штриха шефера. Напишу и выпендрюсь, вот эти 5 свойств:
1) не содержит const 0
2) не содержит const 1
3) не самодвойственна
4) не линейна
5) не монотонна

Так вот теперь о других элементах - ты хочешь меня научить менять базис функции??? Можешь не париться, всё это пройдено и успешно оставлено на случай, когда понадобится. Мы откуда и куда только не переводили. Логику рассчитывали мы в И ИЛИ НЕ, а потом переводили на предоставленный базис, так что не рассказывай, как одну функцию представить через другую.
theCollision пишет:
То что мы привыкли видеть, а это сложение, деление, вычитание, на машине производится путем комбинации этих 3х логик!

Позволь поправить, ещё умножение. Можно ещё более уточнить - делается это всё через сложение. А потом легко сменить базис и представить в любой другой полной системе функций.

theCollision пишет:
Ну да ладно не о том говорю, а том, что в Intel-процессорах , тоже завязано на И,ИЛИ,НЕ, а комбинации сводятся к громадным JK-триггерам,дешифраторам,шифраторм

Ну завязано, но вопрос не в этом. JK триггер он как и либой другой триггер служит для хранения бита, и почему он вдруг становится ОГРОМНЫМ? Может имеется ввиду объединение триггеров в регистры? Дешифратор, шифратор - ну и, были у меня в схеме оба элемента, они в принципе используются везде. Что за сдвигающие регистры??? Они сами чтоль сдвигаются??? Ну а регитсры - у меня были T-триггеры, чему я безумно рад =))

theCollision пишет:
То что пытылся выразить Demon666 это взгляд электронщика, т.к. машина не умеет "xor" ить и ее этому надо научить!

Обрати внимание, что демон уверен, что xor выпоняет вычитание, он отнюдь не искушен в схемотехнике и теории автоматов, и алгебре логики. Он написал, что встретил в интернете. Здесь речь шла не о устройстве процессора, а о работе функции "сумма по модулю два". Если тебе хотелось увидеть воспоминание о триггере, попросил бы, я б сюда забахал записку по курсачу - там много интересного написано. Здесь сидят не электронщики, хотя и это некоторые умеют(включая вашего покорного слугу), здесь сидят программеры, пишущие микропрограммы, поэтомпу триггеры - слово классное, но здесь неуместное, а просто выебонское ;)

-----
Недостаточно только получить знания:надо найти им приложение





Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 07 августа 2006 22:13
· Личное сообщение · #22

theCollision пишет:
машина не умеет "xor" ить и ее этому надо научить!

Писдёшь, ибо зависит от выбранных логических элементов в базисе. У меня в курсаче спокойно могла, сможешь переубедить????????

-----
Недостаточно только получить знания:надо найти им приложение




Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 07 августа 2006 22:27
· Личное сообщение · #23

Можно ещё более уточнить - делается это всё через сложение.
вроде спец хороший, а такую ересь говоришь. Давай-ка попробую возразить, а если не прав, то критике всегда рад, лишь бы в голове прибавилось бы!

Ну так вот, открываем справочник, вот сполки беру : Справочник Цифровые интегральные микросхемы", Москва, Радио и связь, 1994 ISBN-5-256-00845-5 страница 29, рис. 2.3. что видим? Видим схему элемента И-НЕ ТТЛШ-серии. Несмотря на то что это старье, принципы работы ЭВМ остались теже! И, ИЛИ, НЕ. На данном рисунке ты увидишь как просто создать элементы И-НЕ, всего-то много-эммитерный транзистор!

А теперь подумаем, если бы машины складывали-сдвигали и тем самым делали "привычное умножение", то каким бы элемментарный функциональный элемент получился бы? Возьми и почерти ради примера, такой элемент карандашом на бумаге!

Другое дело сдвинуть и Логическое ИЛИ, тут я согласен! Это можно и быстро реализуемо. И если учесть изготовление процессоров(технология) то и быстро изготовимо! Замечу логическое ИЛИ и "привычное сложение" не одно и тоже!

-----
My love is very cool girl.





Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 07 августа 2006 22:44 · Поправил: Rascal
· Личное сообщение · #24

theCollision пишет:
Возьми и почерти ради примера, такой элемент карандашом на бумаге!

Уже сделано, Леэит в архиве в универе. Делается так. Берётся микропрограмма сложения и реализуется на любой элементной базе. Получаем элемент схему, сумматор. Умножение базируется на циклическом сдвиге со сдвигом множемого или множителя и суммированием. Вычитание - перевод уменьшаемого в доп код или обратный код и суммирование умеьшаемого и вычитаемого. Деление уже забыл, где-то валяется микропрграмма. Но суть есть вычитание (то есть суммирование в доп кодах) и занесение бита в частное. Тоже есено со сдвигом.

theCollision пишет:
Замечу логическое ИЛИ и "привычное сложение" не одно и тоже!

Любая логическая операция не может счиаться арифметической!!! Наконец тыц написал, что все тут пытаются доказать, то есть по теме топика =))) Мир брат

-----
Недостаточно только получить знания:надо найти им приложение




Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 07 августа 2006 23:56 · Поправил: Demon666
· Личное сообщение · #25

Rascal пишет:
И причём здесь алгебра???

Хм. Что только я вижу твои первые посты всучивания алгебры?
Rascal пишет:
Народ, откройте книги по алгебре логики и найдёте ещё много интересного.

Rascal пишет:
Да, читай по этому поводу книги по алгебре логики и булевой алгебре.

Demon666 пишет:
xor это не алгебра (это мнемокод)

Народ кто нить еще их видить?

Rascal пишет:
Обрати внимание, что демон уверен, что xor выпоняет вычитание

Ха-ха это ты брат попутал имена!
Лично мое мнение специально для тебя!
Xor
Правила побитового исключающего ИЛИ
ПРИМЕР:
Demon666 пишет:
а итог:
0101
0011
------
0110


Если ты не способен разобраться какое мое мнение и где я указываю на нужные вещи то…

theCollision пишет:
Открой старые учебники по электроннике

Ага, вот я и решил “реликт” вспомнить из памяти прошлых веков, чтобы видно было, откуда ветер начинал дуть и в какую сторону!!! (Rascal вот где юмор!)

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com





Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 08 августа 2006 00:11
· Личное сообщение · #26

Demon666 пишет:
Хм. Что только я вижу твои первые посты всучивания алгебры?

LOL, пацталом. Это наука такая - алгебра логики. Учим мат часть...
Demon666 пишет:
а итог:
0101
0011
------
0110

сори, тут сглючил, беру слова обратно.

-----
Недостаточно только получить знания:надо найти им приложение




Ранг: 29.5 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 08 августа 2006 01:42
· Личное сообщение · #27

SubV пишет:
На знании о том, как работает процессор )))


Так, и вот ещё один такой-же гуру пишет:

Rascal пишет:
Почитай книги по алгебре логики и поймёшь.


Я могу утверждать, что Z80 заменяет сложение вычитанием (а не наоборот), потому что знаю как работает физически этот процессор. Но на компе у меня установлен не Z80, а Intel P4. Видимо, SubV и Rascal работают на Intel, поэтому знают как работает этот проц. Остаётся им только позавидовать.

SubV пишет:
LOL! Сумма по модулю 2 и есть xor aka eXclusive OR aka Исключающее ИЛИ

Сумма по модулю 2 - есть вычитание, роль которого может выполнить xor лишь в очень специфичных случаях. Кому-то нужно подучить матчасть

SubV пишет:
1 никак не может быть равно -1

Однобитный 1 = ...0000000000000000000|1 = 1
Однобитный -1 = ...111111111111111111|1 = 1




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 08 августа 2006 01:54
· Личное сообщение · #28

Quantum пишет:
Я могу утверждать, что Z80 заменяет сложение вычитанием (а не наоборот),

Расскажи нам тогда, как процессор вычитает. Микропрограмму то есть. Любопытно посмотреть как реиловно вычитание без сложения... Очень интересно..... Прям в самое сердце. Машина умеет вычитать без сложения... В студию как это работает

Quantum пишет:
Сумма по модулю 2 - есть вычитание, роль которого может выполнить xor лишь в очень специфичных случаях. Кому-то нужно подучить матчасть

Так. Уж кому поучить так тебе. Это название функции которая работает по таблице истинности указанной в конце первой страници и здесь тоже была. Андерстенд? Это название одной и той же функции. Что по твоему обозначает XOR. Исключающее или. Это и есть сумма по модулю 2
Сумма по модулю никак не вычитание. А мне так кажется что это сложение. Что скажешь. И над названием заодно покури, мож узнаешь слово "сумма". Таблица истинности именно сложения.

Quantum пишет:
Однобитный 1 = ...0000000000000000000|1 = 1
Однобитный -1 = ...111111111111111111|1 = 1

Ты в курсе, как представляются отрицательные числа в процах??????? Очевидно нет. Тогда подскажу, число отрицательно если старший бит == 1. Правда если условлено, что отриц числа есть и функция обработки подразумевает число отрицательным, а вызвовший функцию код тоже догадывается, что работает с отриц числами, то есть не использует старший бит как значащий. Теперь расскажи, как поместить в один бит знак и число???

-----
Недостаточно только получить знания:надо найти им приложение





Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 08 августа 2006 02:30
· Личное сообщение · #29

Quantum пишет:
Однобитный 1 = ...0000000000000000000|1 = 1
Однобитный -1 = ...111111111111111111|1 = 1

симешно мля. всё равно что
получается что 29 = 21 в трёх битной системе))))
29 = 11|101
21 = 10|101

-----
Недостаточно только получить знания:надо найти им приложение




Ранг: 29.5 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 08 августа 2006 02:43
· Личное сообщение · #30

Rascal пишет:
Микропрограмму то есть.

Кого? Внутри Z80 была микропрограмма??? Могу обьяснить устройство ALU на транзисторном уровне, но боюсь подорвать твою веру в микропрограмму.

Rascal пишет:
Машина умеет вычитать без сложения...

А что собой представляет вычитание? Если по модулю 2, то вычитание - есть сложение. Если по модулю 1 + бит знака, то вычитание - есть отдельная операция. В современных процессорах используется сумма по модулю 2 как раз чтобы вместо 2х операций (сложение и вычитание) в каждом блоке ALU реализовывать только сложение или только вычитание + предварительный neg. Кажется, я отвлёкся...

Rascal пишет:
Машина умеет вычитать без сложения...

Z80 складывал и вычитал, т.к. по сути это одна и таже операция. Кстати, некоторые ассемблеры автоматически заменяли add n на sub -n, т.к. первые модели вообще не имели add.

Rascal пишет:
Что по твоему обозначает XOR. Исключающее или. Это и есть сумма по модулю 2

Это же справедливо только для однобитных операндов: xor == add == sub. Только для однобитных!!! В топике обсуждается НЕ однобитный xor. Сумма по модулю 2 не распространяется на арифметическую сумму или разность (8, 16, 32, ... бит). Настоятельно советую подучить матчасть, если всё ещё не ясно, что xor, который обсуждается в топике - это микроинструкция xor, а не сумма по модулю 2, т.е. избитая табличка, которую я позволю себе лишний раз процитировать:
0 0 0
0 1 1
1 0 1
1 1 0

Rascal пишет:
[...]
Теперь расскажи, как поместить в один бит знак и число???

Если мои доводы тут никого не убеждают, то, возможно, бОльшим авторитетом тут пользуются хорошо известные компиляторы... Напиши на C bit field с однобитными полями типа signed, присвой любому из них 1 или -1. При попытке присвоить 1, вылезет ошибка (1 не входит в ОДЗ), а -1 присвоится без проблем.
Таким образом,

1 == 1 (если тип беззнаковый)
1 == -1 (если тип знаковый)



Ранг: 29.5 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 08 августа 2006 02:48
· Личное сообщение · #31

Rascal пишет:
получается что 29 = 21 в трёх битной системе))))

29 = 5
21 = 5
5 = 5
Так и есть


<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . >>
 eXeL@B —› Программирование —› Альтернатива xor
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати