Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АВС_Лек4_2013 / ИнтернентСсылкиАссемблерЛогика.doc
Скачиваний:
24
Добавлен:
10.05.2015
Размер:
1.11 Mб
Скачать

Битовые операции

[править | править исходный текст]

Материал из Википедии — свободной энциклопедии

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 4 февраля 2012; проверки требуют 20 правок.

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 4 февраля 2012; проверки требуют 20 правок.

Перейти к: навигация, поиск

Не следует путать с булевой функцией.

Би́товая опера́циявпрограммировании— некоторыеоперациинадцепочками битов. В программировании, как правило, рассматриваются лишь некоторые виды этих операций: логические побитовые операции ибитовые сдвиги. Битовые операции применяются вязыках программированияицифровой технике, изучаются вдискретной математике.

Содержание

 [убрать]

  • 1 Побитовые логические операции

    • 1.1 Побитовое отрицание (NOT)

    • 1.2 Побитовое И (AND)

    • 1.3 Побитовое ИЛИ (OR)

    • 1.4 Сложение по модулю два (XOR)

    • 1.5 Другие побитовые логические операции

  • 2 Битовые сдвиги

    • 2.1 Логический сдвиг

    • 2.2 Арифметический сдвиг

    • 2.3 Циклический сдвиг

    • 2.4 В языках программирования

  • 3 В теории сложности алгоритмов

  • 4 Связь с другими науками

    • 4.1 Битовые операции и математическая логика

      • 4.1.1 Обобщение операций на булеву алгебру

      • 4.1.2 2-адическая интерпретация

    • 4.2 Битовые операции как основа цифровой техники

  • 5 Практические применения

    • 5.1 Физическая реализация битовых операций

    • 5.2 Схемы аппаратной логики

    • 5.3 Использование в программировании

  • 6 См. также

  • 7 Примечания

Побитовые логические операции[править | править исходный текст]

Ряд источников по языкам низкого уровняназывает побитовые логические операции простологическими[1][2], но в терминологии программирования на языках высокого уровня в названиях битовых операций присутствуют прилагательныебитовый,побитовый(например: «побитовоелогическое И», оно же «побитовое умножение»),поразрядный.

В некоторых языках программирования названия операторов, соответствующих логическими побитовым логическим операциям, похожи. Кроме того, язык программирования может допускатьнеявное приведениечислового типа к логическому и наоборот. В таких языках программирования необходимо внимательно следить за использованием логических и побитовых операций, перемешивание которых может привести к ошибкам. Например, вC++результатом выражения «2 && 1» (логическое И) являетсябулево значениеtrue, а результатом выражения «2 & 1» (побитовое И) — целое0.

Побитовое отрицание (not) [править | править исходный текст]

Побитовое отрицание(илипобитовое НЕ, илидополнение) — этоунарная операция, действие которой эквивалентно применениюлогического отрицанияк каждому биту двоичного представления операнда. Другими словами, на той позиции, где в двоичном представлении операнда был 0, в результате будет 1, и, наоборот, где была 1, там будет 0. Например:

НЕ

01

10

Побитовое и (and) [править | править исходный текст]

Побитовое И— этобинарная операция, действие которой эквивалентно применениюлогического Ик каждой паре битов, которые стоят на одинаковых позициях в двоичных представлениях операндов. Другими словами, если оба соответствующих бита операндов равны 1, результирующий двоичный разряд равен 1; если же хотя бы один бит из пары равен 0, результирующий двоичный разряд равен 0.

Пример:

И

0011

0101

0001