# Logical operation Basic logical operations

Informatics as a science about methods of collecting, organizing and processing various data begins its development in the middle of the twentieth century. Although some historians believe that the beginning of the formation of computer science was laid back in the 17 century, with the invention of the first mechanical calculator, most associate it with the era of more advanced computing technology. In the 40 of the 20 century, with the advent of the first computers, computer science received a new impetus in development.

## The subject of computer science

It was with the advent of the first computers that there was a need to develop new methods for systematizing, computing and processing large amounts of data, as well as developing algorithms that would allow using the full potential of new computers. Informatics received the status of an independent scientific discipline and moved from the plane of mathematical calculations to the study of computing in general.

All modern computer science is based on logical operations. They can be called a fundamental component. In computer programming, the concept of a logical operation is an action, after which a new concept or value is generated, which is formed on the basis of already existing concepts. The set of such actions may vary depending on the processor element, which must execute commands. However, there are some operations that are common to almost all existing systems. These are operations that work with the content of the values ​​themselves, for example, negation, or those that change the quantitative characteristic of a concept - addition, subtraction, multiplication, division.

## Types of logical operand operands

Since the algebra of logic involves working on abstract concepts, then the operands of all logical operations are generalized data types. The classical elements with which algebra of statements works are statements that are false or true. In electronics and programming, the boolean variables true and false or the integer values ​​1 (true) and 0 (false) are used to describe these terms. The combination of these values, no matter how incredible it may sound, is the work of the most complex and large-scale systems. All program code that runs in a computer or any digital device is dynamically translated into a sequence of ones and zeros — a universal code that can be processed by any processor.

## Types of logical operations

As mentioned earlier, in classical Boolean algebra there exists 2 type of functions. Basic logical operations on binary data types are actions that affect the statement itself (unary, or single, operation). This also includes operations generating new expressions on the basis of existing values ​​(binary operations, or two-place ones). The order of logical operations is the same as when performing any mathematical calculations: from left to right, taking into account the brackets.

Наиболее простой и одной из самых известных функций булевой логики является функция отрицания. Эта простейшая логическая операция представляет собой противоположное значение входного операнда. В электронике это действие ещё иногда называется инверсией. К примеру, если проинвертировать суждение «истина», то результатом будет «ложь». И наоборот – отрицание значения «ложь» даст в результате значение «истина». Такая логическая операция в программировании очень часто используется для ветвления алгоритмов и реализации «выбора» последующего набора команд на основании уже имеющихся результатов или изменившихся условий.

## Binary operations

В программировании и информатике используется ограниченный набор двоичных (бинарных) операций. Они получили своё название от латинского слова bi, означающего «два», и являются видом функций, которые принимают на входе два аргумента и в результате возвращают одно новое значение. Для описания всех функций булевой алгебры используются таблицы истинности.

## What are they needed for

This system is constructed for a certain number of input operands and describes all the resulting values ​​that a given logical operation can return for a specified set of input parameters.

The most frequently used functions in computer science and computing are the operations of logical addition (disjunction) and logical multiplication (conjunction).

## Conjunction

Логическая операция «И» - это функция по выбору наименьшего из двух или n входных операндов. На входе эта функция может иметь два (бинарная функция), три значения (тернарная) или же неограниченное количество операндов (n-арная операция). При вычислении результата функции им станет наименьшее из предоставленных входных значений.

Аналогом в обычной алгебре является функция умножения. Поэтому операция конъюнкции часто называется логическим умножением. При записи функции знаком выступает либо знак умножения (точка) либо амперсант. Если составить таблицу истинности для этой функции, то станет видно, что функция принимает значение «истина», или 1, только при истинности всех входных операндов. Если же хотя бы один из входных параметров будет равен нулю, или значению «ложь», то результатом функции также будет «ложь».

This reflects the analogy with arithmetic multiplication: multiplying any number and a set of numbers by 0 will always return 0 as a result. This logical operation is commutative: the order in which it receives input parameters will in no way affect the final result of the calculation.

Another feature of this function is associativity, or combination. This property allows for the calculation of the sequence of binary operations to ignore the order of calculation. Therefore, for 3 and more sequential logical multiplication operations, there is no need to take parentheses into account. In programming, this function is often used to ensure that specific commands are executed only when certain conditions are met.

## Disjunction

Логическая операция «ИЛИ» - вид булевой функции, который является аналогом алгебраического сложения. Другие названия этой функции – логическое сложение, дизъюнкция. Точно так же, как и операция логического умножения, дизъюнкция может быть бинарной (вычислять значение на основе двух аргументов), тернарной или n-арной.

Таблица истинности для данной логической операции является своего рода альтернативой конъюнкции. Логическая операция «ИЛИ» вычисляет максимальный результат среди предоставленных аргументов. Дизъюнкция принимает на выходе значение «ложь», или 0, только если все входные параметры поступают со значениями 0 («ложь»). В любом другом случае на выходе будет получено значение «истина», или 1. Для записи этой функции чаще всего используется математический знак сложения («плюс») или две вертикальные полосы. Второй вариант распространён в большинстве языков программирования и предпочтительнее, потому что позволяет чётко отделить логическую операцию от арифметической.

## General properties of logical operations

Basic logical operations, whether unary, binary, ternary, or other functions, are subject to certain rules and properties that describe their behavior. One of the fundamental properties that the logical functions described above possess is commutativity.

This property ensures that the value of the function does not change from the transposition of the operands. Not all operations have this property. Unlike conjunction and disjunction, which satisfy the requirements of commutativity, the matrix multiplication function is not such, and the permutation of the factors in this operation will result in a change in the result, as well as exponentiation.