- •Виды представления изображения на плоскости
- •Что есть растр, пиксел и растровое изображение; связность.
- •Примитивы растровой графики и их представление на экране. Алгоритмы растровой графики
- •Разложение в растр отрезков прямых.
- •Разложение на основе параметрического уравнения прямой
- •Алгоритм Брезенхема отрисовки отрезка. Слайд 12.
- •Отрисовка окружности
- •5.1. Алгоритм Брезенхема для окружности.
- •Типы пространств и системы координат их.
- •Алгоритмы отсечения
- •7.1. Постановка задачи. Решение «в лоб»
- •Побитовые бинарные операции.
- •1 Побитовые логические операции
- •2 Битовые сдвиги
- •3 В языках программирования
- •4 Связь с другими науками
- •5 Практические применения
- •Алгоритм Коэна – Сазерленда
- •Тема: Матрицы и операции над ними
- •Основные определения
- •Транспонирование матриц
- •Обратная матрица
- •Формат 32-битного целого числа со знаком
- •Список операторов
- •Разбор операторов
- •Операторы битового сдвига
- •Применение побитовых операторов
5 Практические применения
С точки зрения применения отдельная битовая операция мало интересна. Поэтому практическое применение основывается на способах комбинирования различных битовых операций, для реализации более сложного вычисления. Можно отметить два аспекта:
увеличение размера регистров, в которых битовые операции выполняются не по одной, а сразу на множестве 8, 16, 32, 64 битах
экспериментальные устройства, где обобщают битовые операции с двоичной системы, на троичные и прочие системы счисления (так например, разработана теория работы с четверичной системы (ДНК-компьютер), так же осуществляют исследования в области квантового компьютера).
Физическая реализация битовых операций
Реализация битовых операций может в принципе быть любой: механической (в том числе гидравлической и пневматической), химической, тепловой,[10] электрической, магнитной и электромагнитной (диапазоны — ИК, видимый оптический, УФ и далее по убыванию длин волн), а также в виде комбинаций, например, электромеханической.
В первой половине XX века до изобретения транзисторов применяли электромеханические реле и электронные лампы.
В пожароопасных и взрывоопасных условиях до сих пор применяют пневматические логические устройства (пневмоника).
Наиболее распространены электронные реализации битовых операций при помощи транзисторов, например резисторно-транзисторная логика (РТЛ), диодно-транзисторная логика (ДТЛ), эмиттерно-связанная логика (ЭСЛ), транзисторно-транзисторная логика (ТТЛ), N-МОП логика, КМОП логика и др.
Одной из причин, из-за которой базовые (основные) логические элементы строят на инверторах, а повторители являются дополнительными элементами, было то, что в электронике инверторы (ОЭ) мощнее повторителей (ОК). Но основной причиной является то, что два инвертора заменяют один повторитель, а на повторителях инвертор не построить.
В квантовых вычислениях из перечисленных булевых операций реализуются только НЕ и искл. ИЛИ (с некоторыми оговорками). Квантовых аналогов И, ИЛИ и т. д. не существует.
Схемы аппаратной логики
Результат операции ИЛИ-НЕ или ИЛИ ото всех битов двоичного регистра проверяет, равно ли значение регистра нулю; то же самое взятое от выхода искл. ИЛИ двух регистров проверяет равенство их значений между собой.
Битовые операции применяются в знакогенераторах и графических адаптерах; особенно велика была их роль в адаптере EGA в режимах с 16 цветами — хитроумное сочетание аппаратной логики адаптера с логическими командами центрального процессора позволяет рассматривать EGA как первый в истории графический ускоритель.
Использование в программировании
Благодаря реализации в арифметическом логическом устройстве (АЛУ) процессора многие их регистровые битовые операции аппаратно доступны в языках низкого уровня. В большинстве процессоров реализованы в качестве инструкции регистровый НЕ; регистровые двухаргументные И, ИЛИ, исключающее ИЛИ; проверка равенства нулю (см. выше); три типа битовых сдвигов, а также циклические битовые сдвиги.
Регистровая операция И используется для сброса конкретных битов по битовой маске, ИЛИ — для установки, исключающее ИЛИ — для инвертирования битов регистра по маске, сдвиг влево/вправо — для умножения/деления на 2 и выделения отдельных битов.
Так, например, в сетевых интернет-технологиях операция И между значением IP-адреса и значением маски подсети используется для определения принадлежности данного адреса к подсети.
Дополнительные темы:
Бит
Битовое поле
Двоичная система счисления
Двоичная логика
Комбинационная логика