Упрощение логических функций. Системы функций алгебры логики.



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

Для упрощения логических выражений используют законы алгебры логики.

Законы алгебры логики формулируются для базовых логических операций — “НЕ” – инверсия (отрицание), “И” – конъюнкция (логическое умножение) и “ИЛИ” – дизъюнкция (логическое сложение).

Закон двойного отрицания означает, что операция “НЕ” обратима: если применить ее дважды, то в итоге логическое значение не изменится. Закон исключенного третьего гласит, что любое логическое выражение либо истинно, либо ложно (“третьего не дано”). Поэтому если A=1, то A¯=0 (и наоборот), а, значит, конъюнкция этих величин всегда равно нулю, а дизъюнкция равна единице.

При упрощении логических выражений можно выполнять такую последовательность действий:

Заменить все “небазовые” операции (эквивалентность, импликацию, исключающее ИЛИ и др.) на их выражения через базовые операции инверсию, конъюнкцию и дизъюнкцию. Раскрыть инверсии сложных выражений по правилам де Моргана таким образом, чтобы операции отрицания остались только у отдельных переменных. Затем упростить выражение, используя раскрытие скобок, вынесение общих множителей за скобки и другие законы алгебры логики.

 

Существуют системы ФАЛ, с помощью которых можно аналитически представить любую сколь угодно сложную булеву функцию.

Функционально полной системой булевых функций (базисом) (ФПСБФ) называется совокупность таких булевых функций (f1, f2, ... fk), посредством которых можно записать произвольную булеву функцию f.

Теорема Поста-Яблонского. Для того чтобы система ФАЛ была функционально полной, необходимо и достаточно, чтобы она содержала хотя бы одну функцию:

- не сохраняющую 0,

- не сохраняющую 1,

- не являющуюся линейной,

- немонотонную,

- не самодвойственную.

 

Формы представления числовой информации с фиксированной и плавающей запятой.

Число с плавающей запятой (или число с плавающей точкой) — форма представления вещественных (действительных) чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Используемое наиболее часто представление утверждено в стандарте IEEE 754. Реализация математических операций с числами с плавающей запятой в вычислительных системах может быть как аппаратная, так и программная.

Число с плавающей запятой состоит из следующих частей:

знак мантиссы (указывает на отрицательность или положительность числа),

- мантисса (выражает значение числа без учёта порядка),

- знак порядка,

- порядок (выражает степень основания числа, на которое умножается мантисса).

Нормальной формой числа с плавающей запятой называется такая форма, в которой мантисса (без учёта знака) находится на полуинтервале [0 1), то есть 0 ⩽ a < 1. Число с плавающей запятой, находящееся не в нормальной форме, теряет точность по сравнению с нормальной формой.

Такая форма записи имеет недостаток: некоторые числа записываются неоднозначно , поэтому распространена также другая форма записи — нормализованная, в которой мантисса десятичного числа принимает значения от 1 (включительно) до 10 (не включительно), а мантисса двоичного числа принимает значения от 1 (включительно) до 2 (не включительно), то есть 1 ⩽ a < 10. В такой форме любое число (кроме 0) записывается единственным образом. Недостаток заключается в том, что в таком виде невозможно представить 0, поэтому представление чисел в информатике предусматривает специальный признак (бит) для числа 0.

Число с фиксированной запятой  — формат представления вещественного числа в памяти ЭВМ в виде целого числа. При этом само число x и его целочисленное представление x′ связаны формулой: x=x'· z, где z — цена (вес) младшего разряда.

В случае, если z<1, для удобства расчётов делают, чтобы целые числа кодировались без погрешности. Другими словами, выбирают целое число u (машинную единицу) и принимают z= . В случае, если z>1, его делают целым.

Если не требуется, чтобы какие-либо конкретные дробные числа входили в разрядную сетку, программисты обычно выбирают {\displaystyle z= — это позволяет использовать в операциях умножения и деления битовые сдвиги.

Для угловых величин зачастую делают z=  (особенно если тригонометрические функции вычисляются по таблице).

 


Дата добавления: 2018-08-06; просмотров: 894; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!