Двоични логически операции: Пълно и практическо ръководство

  • Логическите операции AND, OR, NOT и XOR са фундаменталната основа на цифровата логика.
  • Всички операции се извършват бит по бит, което позволява данните да се обработват ефективно.
  • Булевата логика, създадена от Джордж Бул, е основата, върху която работят днешните цифрови системи.

двоични логически операции

Двоичните логически операции са фундаментални в света на изчислителната техника и цифровата електроника. Те не само позволяват изчисления и обработка на данни, но и са основа за работата на съвременните компютри. Всяка операция е предназначена да обработва битове, стойности 0 и 1, които представляват включено и изключено състояние на електрическите вериги на устройствата, които използваме в ежедневието си.

Концепцията за двоична логика се използва от дълго време, но нейното значение нарасна експоненциално с развитието на цифровите технологии. В тази статия ще разгледаме в дълбочина различните логически операции, които могат да бъдат извършени върху набор от битове, как работят и къде най-често се прилагат. Независимо дали сте студент, който за първи път се сблъсква с тази тема или вече имате опит в областта, ще намерите полезна и подробна информация.

Ролята на бинарната логика

Двоичната логика работи с две състояния: 0 и 1, което съответства на false и true в класическата логика. Това позволява да се обработват големи количества данни в компютърни системи и цифрови устройства. Операциите, извършвани върху тези битове, се извикват булеви операции, които формират сърцето на булевата алгебра. Тези две състояния позволяват дефиниране на условия, които могат да бъдат проверени и обработени от схеми и софтуер по изключително бърз и прецизен начин.

Основни логически операции

Логическите операции върху двоичните числа се извършват бит по бит, т.е. всеки бит се оценява индивидуално спрямо неговия аналог в другия вход. След това резултатът от всеки бит се комбинира, за да се формира крайният резултат от операцията. Най-често срещаните основни операции са описани по-долу.

И операция (логическо И)

Операцията AND е отговорна за приемането на два бита като вход и генерира изход, който ще бъде 1 само ако и двата входни бита са 1. В противен случай изходът ще бъде 0. С други думи, и двата бита трябва да са верни, за да се получи верен резултат.

Пример за операция И:

 1010 И 1100 = 1000

В този пример само битовете, които са верни и на двата входа, остават включени (т.е. те са 1) в резултата.

ИЛИ операция (логическо ИЛИ)

Операцията OR, от друга страна, приема два бита като вход и ще върне a 1, ако поне един от входните битове е 1. Тоест, ако едно от двете (или и двете) е вярно, резултатът също ще бъде верен.

Пример за операция ИЛИ:

 1010 ИЛИ 1100 = 1110

В този случай всеки бит, който е верен на един или двата входа, ще бъде верен и на изхода.

НЕ операция (логично НЕ)

Операцията NOT е най-простата, тъй като се нуждае само от един бит като вход. Неговата функция е да обърне стойността на входния бит. по този начин ако входът е 0, изходът ще бъде 1, и обратно.

Пример за операция НЕ:

 НЕ 1010 = 0101

В този пример всички битове са обърнати в резултата.

Допълнителни логически операции

В допълнение към трите основни, има и други по-малко използвани логически операции, които също играят важна роля в определени системи и обстоятелства.

NAND операция (логическо НЕ И)

NAND е комбинация от И с инверсия НЕ. Той ще генерира изход от 1 всеки път поне един от входните битове е 0. Ще върне 0 само ако и двата входни бита са 1.

NOR (логическа NOT OR) операция

NOR е обратното на операцията OR. Варира по такъв начин, че резултатът му ще бъде само 1 ако и двата входни бита са 0. В противен случай ще върне 0.

Операция XOR (изключително ИЛИ).

XOR е логическа операция, която връща 1 само ако входните битове са различни един от друг. Ако и двете са равни (и двете 0 или и двете 1), резултатът ще бъде 0.

Операция XNOR (НЕ е изключително O)

XOR също има аналог: XNOR. Този оператор връща 1, ако входните битове са еднакви (и двата 0 или и двата 1) и ще върне 0, ако са различни.

Къде се използват двоични логически операции?

Двоичните логически операции са изключително често срещани в мрежови системи, цифрова електроника и програмиране. Въпреки че може да не сме наясно с това, тези операции стоят зад много от ежедневните дейности, които извършваме с електронни устройства.

Един от най-ярките примери, в които се използват тези операции, е в IPv4 адреси. На всяко устройство, свързано към мрежа, се присвояват IP адрес и подмрежова маска. Използвайки операцията И, устройствата сравняват своя адрес с този на други устройства, за да разберат дали принадлежат към същата мрежа или дали данните, които се предават, трябва да бъдат изпратени към различна мрежа.

Пример за използване в IPv4:

Когато дадено устройство сравнява адреса си с подмрежовата маска:

 IP адрес: 11000000.10101000.00000001.00000001 Подмрежа: 11111111.11111111.11111111.00000000

Прилагайки операцията И малко по малко, получаваме следното:

 11000000.10101000.00000001.00000000

Резултатът е мрежовият адрес, към който принадлежи устройството.

Значението на Джордж Бул

Двоичната логика и наборът от операции, които описахме, не биха съществували, както ги познаваме, без работата на математика Джордж Бул. Този гений от 19-ти век създава това, което познаваме като булева алгебра, която установява математическите основи за булеви операции и, в крайна сметка, за двоичната логика, върху която са изградени днешните компютри и цифрови системи.

Бул направи своя принос във време, когато математиката и логиката следваха различни пътища. Неговата визия за обединяване на двете дисциплини промени основите на това, което днес разбираме като цифрова логика.

Побитови операции

В допълнение към споменатите операции, операциите на битово ниво имат много практически приложения при обработката на данни. Тези операции позволяват Манипулирайте и модифицирайте отделни битове на двоично число, които са от съществено значение за филтриране на данни, извършване на битово маскиране и манипулиране на числа в по-надеждни системи.

Операцията И на битово ниво

Нека първо да разгледаме оператора И на битово ниво. Работата му е доста проста: взимате всяка съответстваща двойка битове между две числа и прилагате правилата на операцията И, за да определите дали битът в тази позиция ще бъде 0 (ако и двата входни бита не са 1) или ще бъде 1 (ако и двата входни бита са 1).

Пример за побитова операция И:

 0101 И 0011 = 0001

Използване на маски за филтриране на битове с И

В цифровото програмиране операторът И обикновено се използва заедно с битови маски за да изберете или филтрирате определени битове. Например, ако искате да проверите дали определен бит в поредица от битове е включен или изключен, можете да извършите операция И с маска, която избира само този бит.

Пример за битова маска:

 0011 И 0010 = 0010

В този случай проверяваме дали вторият бит е включен. Тъй като резултатът е различен от нула, знаем, че битът е включен.

Други операции като оператора ИЛИ също имат обширни приложения, когато става въпрос за работа на битово ниво.

Побитова операция XOR

Операторът XOR притежава една от най-полезните си функции в програмирането на ниско ниво, като позволява разменете стойности между две променливи, без да използвате временна променлива. Този трик, известен като обмен XOR, е много ефективен и се възползва от таблицата на истината на оператора XOR.

Пример за размяна на XOR:

 a = a XOR bb = a XOR ba = a XOR b

След изпълнението на тези три операции, стойността на a y b Те ще бъдат обменени без необходимост от използване на трета променлива.

Побитови смени и завъртания

И накрая, операциите на изместване y въртене Те позволяват битовете на числото да се преместват надясно или наляво. Тези операции са полезни в много области, като криптография и манипулиране на данни във вградени системи.

Логическото ляво изместване е еквивалентно на умножаване на число по 2, докато логическото надясно е еквивалентно на разделяне на числото на 2.

При ротация чрез пренасяне битовете, излизащи от едната страна, се връщат от другата, което е полезно за някои криптографски алгоритми и на специфичен хардуер.

В крайна сметка разбирането на тези операции е от ключово значение за ефективната работа в области, които изискват директно манипулиране на битове, като програмиране на ниско ниво, разработване на вградени системи или проектиране на цифров хардуер.


Бъдете първите, които коментират

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.