Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 561
Записей в блоге: 1
#1

кто может обьяснить про что тут говорится - C++

17.04.2011, 04:47. Просмотров 451. Ответов 5
Метки нет (Все метки)

С помощью этого оператора & можно также выделять и устанавливать значения от-
дельных битов.
Представьте себе, что в написанной вами базе данных для сохранения некоторой
информации о личности используется единственный бит. Первый значимый бит ра-
вен 1. если это особа мужского пола, второй бит равен 1, если это программист, тре-
тий равен 1 в случае внешней привлекательности, а четвертый — если человек имеет
собаку. Взгляните на табл. 4.4.
Таблица 4.4. Значения битов
Бит ЗНАЧЕНИЕ
0 1 -^ мужчина
1 1 -> программист
2 1 -»привлекательный
3 1 -»владелец собаки
Не особо привлекательный, имеющий собаку программист мужского рода будет
закодирован числом Н01г. Если вы хотите просмотреть все записи в поисках хоро-
шенькой девушки без собаки, причем неважно, разбирается ли она в C++, надо ис-
пользовать следующее сравнение (числа приведены в двоичной записи!):
(databaseValue & 1011) == 0010
^ - не мужчина
^ - привлекательна
^ - без собаки
^^^ - важно
* - не интересует
В этом случае число 1011 является маской, потому что оно маскирует, исключая
из рассмотрения, биты с не интересующими вас характеристиками.



и вот что тут, раз 10 читал не пойму, тут про оператор & то что подчеркнуто не пойму что там про чё это из книги С++ для чайников,
в начале говорилось

Зачем придуманы эти глупые операторы
Предназначение большинства операторов очевидно. В необходимости операторов
- или + сомневаться не приходится. Не нужно рассказывать, для чего используется
оператор | |. Но для начинающих программистов может быть далеко не очевидно, за-
чем использовать битовые операторы.
Оператор & часто используется для маскирования информации. Например, пред-
положим, что нам нужно выделить последний значимый шестнадцатеричный разряд
из четырехразрядного числа:
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2011, 04:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос кто может обьяснить про что тут говорится (C++):

может кто расскажет про биты? - C++
вопрос

Сделал лабиринт, оцените кто нибудь уровень говнокода, и что бы подправить тут или изменить - C++
karta.txt положить в диск С #include "stdafx.h" #include <iostream> #include <fstream> #include <iomanip> #include <math.h>...

Везде говорится, что структуры и классы отличаются только типом доступа к членам по умолчанию - C++
Доброго времени суток всем. У меня возник такой вопрос: Везде говорится, что структуры и классы отличаются только типом доступа...

Кто-нибудь может подробно объяснить, что такое allocators, зачем это и что с ними делать? Нигде не нашёл инфы - C++
Заранее спасибо.

Обьяснить что делает программа - C++
Уважаемым товарищи программисты объясните пожалуйста что делает эта программа. Что происходит в цикле ? #include <iostream> ...

Помогите обьяснить что означают эти команды - C++
Вот задача Дана целочисленная матрица размера M × N. Найти номер последней из ее строк, содержащих максимальное количество одинаковых...

5
outoftime
║XLR8║
511 / 433 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
17.04.2011, 05:08 #2
ELDQS, как ты собираешь определять установлен ли какой-либо бит числа без & ? Это не такая уж и редкая задача.
0
ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 561
Записей в блоге: 1
17.04.2011, 05:13  [ТС] #3
Цитата Сообщение от outoftime Посмотреть сообщение
ELDQS, как ты собираешь определять установлен ли какой-либо бит числа без & ? Это не такая уж и редкая задача.
тут обяснить можеш как то по друшому я ну никак не пойму
плиз

Добавлено через 1 минуту
Цитата Сообщение от outoftime Посмотреть сообщение
как ты собираешь определять установлен ли какой-либо бит числа без &
незнаю а как
0
ValeryS
Модератор
6707 / 5116 / 482
Регистрация: 14.02.2011
Сообщений: 17,189
17.04.2011, 07:13 #4
операторы & "и"
| "или"
^ "исключающие или"
~ "инверсия"
предназначены для изменения битов в числе
Цитата Сообщение от ELDQS Посмотреть сообщение
Сообщение от outoftime
как ты собираешь определять установлен ли какой-либо бит числа без &
незнаю а как
например так надо проверить установлен ли 2 бит в числе
unsigned char mc =0xFD == 1111 1101 это маска
unsigned char val =0xHH == hhhh hhhh это число (h-равен 0 или 1)

unsigned char tmp = mc |val; может быть 1111 1101 или 1111 1111 зависит установлен ли бит в числе

можно так
unsigned char mc =0x00 == 0000 0010 это маска
unsigned char val =0xHH == hhhh hhhh это число (h-равен 0 или 1)

unsigned char tmp = mc &val; может быть 0000 0010 или 0000 0000 зависит установлен ли бит в числе
0
ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 561
Записей в блоге: 1
17.04.2011, 10:20  [ТС] #5
во так понятней теперь и тот текст тож понял
спасибо
0
Evg
Эксперт CАвтор FAQ
18247 / 6372 / 438
Регистрация: 30.03.2009
Сообщений: 17,632
Записей в блоге: 28
17.04.2011, 10:24 #6
На всякий случай
http://www.cyberforum.ru/cpp-beginners/thread58455.html
0
17.04.2011, 10:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2011, 10:24
Привет! Вот еще темы с ответами:

Кто тут пишет софт на заказ - C++
Нужено сделать софт на заказ пишите кто может сделать Пишите скайп или icq там договоримся цене

Немного не понял ,написанное тут про инкремент и декремент - C++
Объясните на словах или на примерах .

присваивание char - где тут может быть ошибка? - C++
Есть простая функция, обратную строку должна выдавать, а вместо этого передает "необработаное исключение" проблема в s = s; s =...

Есть тут кто работает с++ + intel xeon phi 5110p ? - C++
Добрый день, хотел бы пообщаться на эту тему, кто пишет на с++ уже софт и занимается отладной используя intel xeon phi 5110p.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru