2013-05-09 2 views
4

Итак, я сейчас изучаю C++ через книгу «SAMS учат C++ в течение 1 часа в день». Пока это здорово - я понял все, что было сказано, и мне удалось использовать все их в простых программах, чтобы практиковать их.Зачем использовать побитовые операторы?

Однако я только что попал в раздел по Побитовым операторам, и я полностью в тупике. Я понимаю, что у вас есть &, ~, |, < <, >> и т. Д., И я понимаю, что каждый из них выполняет различное действие по числу в своей двоичной форме, потому что ~ переворачивает числа.

Проблема в том, что я просто не могу понять, как и почему вы хотите использовать их. Мне очень хорошо, что я должен взять int, перевернуть двоичные цифры и добавить еще один номер, но как именно это помогает мне каким-либо образом формироваться или формироваться? Я был бы признателен за объяснение, почему вы будете использовать каждый, и, если возможно, пример?

Спасибо всем!

+2

http://en.wikipedia.org/wiki/Bitwise_operation, http://stackoverflow.com/q/11945481/62576 –

+1

@KenWhite Он не спрашивает, что это такое, но каково его практическое применение. – 0x499602D2

+0

Неужели книга говорит вам? ... –

ответ

1

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

Если вы просматриваете пиксели высокой интенсивности в изображении RGB, вы можете использовать побитовое - и с 128 против трех значений цвета; это более быстрая операция, чем другое булево выражение, такое как R> 128.

Смежные вопросы