Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Двоичная информатика

Основные понятия

Замечание 1

Двоичная информатика - раздел информатики, описывающий правила обработки логических высказываний на основе двоичного счисления и двоичной алгебры, которую также называют бинарной алгеброй, алгеброй логики или булевой алгеброй, в честь математика XIX в. Джорджа Буля, одного из ее основоположников.

Высказываниями называются утверждения, которые могут быть либо истинными, либо ложными. Пример истинного высказывания: "ель - это дерево"; пример ложного: "медведь - это рыба".

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

Двоичное счисление

Привычное человеку десятичное счисление удобно на бытовом уровне и возникло в силу естественной причины: у человека 10 пальцев на руках. С их помощью древние люди выполняли простые вычисления, и эта традиция укоренилась в математике. Между тем, десятичная система не является единственно возможной. Даже в древности существовали альтернативы, например, двенадцатиричная, основанная не на десятках, а на дюжинах.

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

Механические арифмометры работали в десятичной системе. Автор24 — интернет-биржа студенческих работ

Рисунок 1. Механические арифмометры работали в десятичной системе. Автор24 — интернет-биржа студенческих работ

«Двоичная информатика» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

Компьютеры используют для вычислений электричество, и для реализации десятичной системы пришлось бы задействовать 10 уровней электрического напряжения или тока. Это сложно реализовать технически. К тому же такая система была бы слишком неустойчива, поскольку, например, отличить 1 вольт напряжения от 2 вольт легко (разница в 2 раза), а отличить 8 вольт от 9 вольт могут помешать помехи (броски тока в силовой сети и т. п).

Двоичная система, в которой используются всего 2 цифры - 0 и 1 - лишена этого недостатка. При ее технической реализации можно использовать всего два уровня электрического напряжения: 0 и любой другой, который технически достоверно можно отличить от нулевого, например, 5 вольт. Оперируя двумя уровнями сигнала, можно записать в двоичной форме любое достаточное для практических целей число, а также выполнять действия над ним с помощью электронных вычислительных машин.

Существуют простые алгоритмы преобразования из десятичного формата в двоичный и обратно, которые сравнительно легко реализовать для ввода данных и их вывода на монитор.

Преобразование двоичного числа в десятичное. Автор24 — интернет-биржа студенческих работ

Рисунок 2. Преобразование двоичного числа в десятичное. Автор24 — интернет-биржа студенческих работ

Достоинством двоичного счисления является то, что помимо выполнения математических действий с его помощью можно вычислять истинность и ложность высказываний, обозначая истинные как 1, а ложные как 0. В компьютерных программах, когда нужно подчеркнуть, что речь идет не о числах, а об истинности и ложности высказываний, используют ключевые слова true и false, т. н. переменные логического типа.

Недостатком двоичного счисления является то, что записанные в этой системе числа получаются гораздо длиннее десятичных, однако для компьютеров этот фактор не является критическим.

Логические операции в компьютерных программах

Алгебра логики реализована в языках программирования с помощью операторов:

  • логическое "ИЛИ" (логическое сложение, оператор "OR", или, в терминах алгебры логики, дизъюнкция); обозначается во многих языках программирования как «||»;
  • логическое "И» (логическое умножение, "AND», конъюнкция); обозначается как «&&»;
  • логическое отрицание ("NOT"); обозначается как «!»;
  • исключающее "ИЛИ" ("XOR"); обозначается как «^»;
  • операции сдвига;
  • операции дополнения.

Кроме логических операторов, в программах используются операторы ветвления (if ... else, switch...), позволяющие переходить к разным частям программы в зависимости от истинности или ложности вычисленных выражений. Результаты арифметических операций сравнения чисел, такие как "больше", "меньше", в программах также интерпретируются как переменные логического типа.

Рассмотрим пример создания программы, отвечающей за освещение письменного стола офисного работника. Предположим, она запущена в неком контроллере (например, устройстве для “умного дома”) и непрерывно получает на вход два сигнала: с датчика освещенности (достаточно ли света в помещении) и с датчика присутствия (находится ли работник за столом). Лампа включается только тогда, когда человек сидит за столом и света недостаточно (закончилось светлое время суток, задернули шторы и т.п.).

Не вникая в детали реализации, условимся, что за включение/выключение лампы отвечают внешние функции turnOn и turnOff. Напишем функцию, принимающую аргументы light (освещенность в процентах) и presence (присутствие, логическая переменная true или false). Допустим, лампу нужно включать, при освещенности 40% и ниже.

Пример 1

function dealWithLamp (light, presense) { // Функция получает 2 параметра.

// Проверяем уровень освещенности // и записываем в переменную логического типа. var lightOK = light > 40;

// Если света недостаточно // и работник на месте - // включить лампу. if(! lightOK && presense) turnOn();

// В противном случае выключить лампу, т.е. света достаточно // или работник отлучился. else turnOff(); }

В данном примере задействованы оператор логического умножения (&&), отрицание (! lightOK) и ветвление if... else в зависимости от истинности или ложности условий, которые нужно отслеживать.

Воспользуйся нейросетью от Автор24
Не понимаешь, как писать работу?
Попробовать ИИ
Дата написания статьи: 16.11.2018
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot