Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Применение логических операций к целым числам




Логические операции применимы не только к логическому типу данных, но и к целочисленному типу данных. Для целых чисел операции выполняются поразрядно, отдельно с каждым битом.

Как уже было сказано, логические операции с целыми числами проводятся поразрядно. Поэтому, чтобы понять, как работают эти операции, переведем значения переменных в двоичный код. Переменным «x» и «y» присвоены значения «11» и «15». В двоичном исчислении 11=1011, а 15=1111.

Над этими переменными производится операции and (логическое умножение). Результат этой операции вычисляется побитовым умножением, т.е. первый бит первого числа умножаем на первый бит второго число, затем второй бит первого числа умножаем на второй бит второго числа и т.д. Как было сказано в предыдущем примере, комбинация 2-х логических переменных, связанных между собой союзом «and» (и) является истиной (т.е. равна 1), если обе переменные истинны (равны 1). В нашем примере 3 комбинации являются истинными, и одна комбинация (на рис. выделена синей рамкой) является ложной.

Таким образом, в результате операции логического умножения получается число 1011. Переведем его в десятичную систему счисления. Получится число 11. Это число и будет результатом операции логического умножения чисел 11 и 15, и это число будет выведено на экран.

Здесь записывается операция or (логическое сложение). Согласно законам булевской алгебры, комбинация 2-х логических переменных, связанных между собой союзом «or» (или) является ложным (т.е. равна 0) только в том случае, если обе переменные ложны (т.е. равны 0).
В нашем примере нет комбинаций из 2-х ложных (нулевых) разрядов, поэтому результатом во всех разрядах будет истина (единица).

В итоге получится число 1111. При переводе в десятичную систему счисления получается 15. Это число будет выведено на экран (строка №11).

Записывается операция not (инверсия). Ее результатом будет число, которое получается при увеличении числа, стоящего после not на 1 и изменении знака этого числа. После not стоит переменная «y». Она имеет значение 15. Увеличиваем 15 на единицу. Получается 16. Меняем знак. Получается – 16.

В строке №14 записываем операцию xor (исключающее или). Это операция, которая называется исключающее или. Согласно законам булевской алгебры, комбинация 2-х логических переменных, связанных между собой союзом «xor» (либо) является истинным только в том случае, если обе переменные разные (т.е. одна истинна, другая ложна).
В нашем случае только 3-и разряды (справа) разные, поэтому там в результате будет истина (1).

Полученное число 0100 в десятичной системе счисления равно 4.

 

 


Поделиться:

Дата добавления: 2015-04-21; просмотров: 129; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты