Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 564
Записей в блоге: 1
1

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

17.04.2011, 04:47. Просмотров 481. Ответов 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
Ответы с готовыми решениями:

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

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

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

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

Обьяснить что делает программа
Уважаемым товарищи программисты объясните пожалуйста что делает эта программа....

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

Добавлено через 1 минуту
Цитата Сообщение от outoftime Посмотреть сообщение
как ты собираешь определять установлен ли какой-либо бит числа без &
незнаю а как
0
ValeryS
Модератор
7372 / 5573 / 707
Регистрация: 14.02.2011
Сообщений: 18,944
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
Сообщений: 564
Записей в блоге: 1
17.04.2011, 10:20  [ТС] 5
во так понятней теперь и тот текст тож понял
спасибо
0
Evg
Эксперт CАвтор FAQ
19358 / 7207 / 538
Регистрация: 30.03.2009
Сообщений: 20,150
Записей в блоге: 30
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

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

Кто тут пишет софт на заказ
Нужено сделать софт на заказ пишите кто может сделать Пишите скайп или icq там...

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


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

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

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