Стефан Дэвис - С++ для чайников .

Здесь есть возможность читать онлайн «Стефан Дэвис - С++ для чайников .» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2007, ISBN: 2007, Издательство: Издательский дом Вильямс. Компьютерное издательство Диалектика, Жанр: Технические науки, Программирование, Программы, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

С++ для чайников .: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «С++ для чайников .»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

empty-line
1
empty-line
4

С++ для чайников . — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «С++ для чайников .», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Кроме того, побитовые операции выполняются крайне быстро. Хранение 32 характеристик в одном типе не приводит ни к каким дополнительным затратам.

Хотя память становится всё дешевле она всё равно не безгранична Иногда при - фото 78

«Хотя память становится всё дешевле, она всё равно не безгранична. Иногда, при работе с большими объёмами данных, такая экономия с использованием битовых представлений весьма существенна.»

[ Советы ]

Побитовые операции с одним битом...62

Побитовые операторы &, ^, |и ~выполняют логические операции над отдельными битами числа. Если рассматривать 0 как false и 1 как true ( так принято, хотя можно ввести и другие обозначения ), то для оператора ~ справедливо следующее:

~1( true ) равно 0( false )

~0( false ) равно 1( true )

Оператор &определяется так:

1( true ) & 1 ( true ) равно 1( true )

1( true ) & 0 ( false ) равно 0( false )

0( false ) & 0 ( false ) равно 0( false )

0( false ) & 1 ( true ) равно 0( false )

Для оператора |:

1( true ) | 1 ( true ) равно 1( true )

1( true ) | 0 ( false ) равно 1( true )

0( false ) | 0 ( false ) равно 0( false )

0( false ) | 1 ( true ) равно 1( true )

_________________

62 стр. Часть 1. Первое знакомство с С++

Таблица 4.3. Таблица истинности оператора &

& 1 0

1 1 0

0 0 0

В таблице столбцы соответствуют значению одного аргумента, а строки — второго; результат операции находится на пересечении соответствующих строки и столбца. Так, из таблицы видно, что получить в результате операции &можно только если оба операнда равны 1. Далее в табл. 4.4 приведена таблица истинности оператора |( ИЛИ ).

Таблица 4.4. Таблица истинности оператора |

| 1 0

1 1 1

0 1 0

Для последнего логического оператора, называемого "исключающее или" ( XOR), прямой аналог в повседневной жизни найти труднее. Он возвращает значение true , если истинным является какой-то один ( но не оба! ) из его аргументов. Таблица истинности этого оператора представлена ниже ( табл. 4.5 ).

Таблица 4.5. Таблица истинности оператора ^

^ 1 0

1 0 1

0 1 0

Теперь, зная, как работают эти операторы с отдельными битами, рассмотрим их применение к двоичным числам.

Использование побитовых операторов...63

Побитовые операторы работают отдельно с каждым битом.

Побитовые операторы выполняются подобно любым другим арифметическим операторам. Самым лёгким для понимания является оператор ~ . Выполнить операцию ~над числом означает выполнить её над каждым битом числа.

~0110 2( 0х6 )

1001 2( 0x9 )

Таким образом получаем, что ~0x6 равно 0x9 . В следующем примере продемонстрировано выполнение оператора &:

0110 2

&

0011 2

0010 2

Вычисляем, начиная со старших битов: 0 &0 равно 0. В следующем бите 1 & 0 равно 0. В третьем бите 1 &1 даёт 1, а в последнем бите 0 &1 даёт 0.

_________________

63 стр. Глава 4. Выполнение логических операций

Те же вычисления могут быть выполнены в шестнадцатеричной системе. Для этого нужно преобразовать числа в двоичное представление, выполнить операцию и преобразовать результат обратно.

0x06 0110 2

& &

0x03 0011 2

0x02 0010 2

Расписав числа таким образом, мы получили, что 0x6 & 0x3 равно 0x2 . ( Попробуйте подсчитать значение выражения 0х6 | 0x3 . Если вам это удастся, вы почувствуете себя на седьмом небе. Иначе очутитесь на первой из семи ступенек в преисподнюю. У меня на это ушло чуть меньше восьми минут. )

Простой пример...64

Следующая программа иллюстрирует работу побитовых операторов. В ней инициируются две переменные, к которым применяются операции &, |, ~, ^. Результаты вычислений выводятся на экран.

/* BitTest — инициируются две переменные */

/* выводятся результаты выполнения */

/* операторов |, ^, ~ и & */

#include

#include

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «С++ для чайников .»

Представляем Вашему вниманию похожие книги на «С++ для чайников .» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «С++ для чайников .»

Обсуждение, отзывы о книге «С++ для чайников .» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x