Форум программистов, компьютерный форум CyberForum.ru

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

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

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

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

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



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

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

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

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

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

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

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

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

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

Что тут неправильно - C++
Что в коде неправильно #include <windows.h> int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int) { MessageBox(NULL,"Hello...

Что тут не так? - C++
#include <iostream> #include <conio.h> using namespace std; bool is_it(char *); int main(){ char *str=new char; cout...

Что тут неверно? - C++
#include <iostream> #include <locale> using namespace std; int main() { int x1 , x2 , x3 , y1 , y2 , y3; ...


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

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

Добавлено через 1 минуту
Цитата Сообщение от outoftime Посмотреть сообщение
как ты собираешь определять установлен ли какой-либо бит числа без &
незнаю а как
ValeryS
Модератор
6542 / 5008 / 461
Регистрация: 14.02.2011
Сообщений: 16,653
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 зависит установлен ли бит в числе
ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 561
Записей в блоге: 1
17.04.2011, 10:20  [ТС]     кто может обьяснить про что тут говорится #5
во так понятней теперь и тот текст тож понял
спасибо
Evg
Эксперт CАвтор FAQ
17469 / 5707 / 362
Регистрация: 30.03.2009
Сообщений: 15,670
Записей в блоге: 26
17.04.2011, 10:24     кто может обьяснить про что тут говорится #6
На всякий случай
http://www.cyberforum.ru/cpp-beginners/thread58455.html
Yandex
Объявления
17.04.2011, 10:24     кто может обьяснить про что тут говорится
Ответ Создать тему
Опции темы

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