Интернет магазин китайских планшетных компьютеров



Компьютеры - Сложение по модулю 2 - Булева алгебра

19 июля 2011


Оглавление:
1. Сложение по модулю 2
2. Булева алгебра
3. Связь с естественным языком
4. Квантовые вычисления



В булевой алгебре сложение по модулю 2 — это функция двух, трёх и более переменных. Переменные могут принимать значения из множества ~\{0, 1\}. Результат также принадлежит множеству ~\{0, 1\}. Вычисление результата производится по простому правилу, либо по таблице истинности. Вместо значений ~0, 1 может использоваться любая другая пара подходящих символов, например ~false, true или ~F, T или «ложь», «истина».

Таблицы истинности:
для бинарного сложения по модулю 2
Правило: результат равен ~0, если оба операнда равны; во всех остальных случаях результат равен ~1.

~a ~b ~a \oplus b
~0 ~0 ~0
~0 ~1 ~1
~1 ~0 ~1
~1 ~1 ~0

для тернарного сложения по модулю 2

X Y Z
0 0 0 0
1 0 0 1
0 1 0 1
1 1 0 0
0 0 1 1
1 0 1 0
0 1 1 0
1 1 1 1

Программирование

В языках C/C++ эта операция обозначается символом «^», в языках Паскаль, Delphi, Ada — зарезервированным словом XOR, в языке ассемблера — одноимённой логической командой. Сложение по модулю 2 выполняется для всех битов левого и правого операнда попарно. Например,

если
a = ~01100101_2
b = ~00101001_2
то
a ^ b = ~01001100_2

Выполнение операции XOR для значений логического типа производится в разных языках программирования по-разному. Например в Delphi используется встроенный оператор XOR. В языке C, начиная со стандарта C99, оператор «^» над операндами логического типа возвращает результат применения операции XOR. В С++ оператор «^» для логического типа bool возвращает результат согласно описанным правилам, для остальных же типов производится его побитовое применение.



Просмотров: 7401


<<< Битовые операции
Длинная арифметика >>>