0 / 0 / 1
Регистрация: 23.04.2014
Сообщений: 86
1

Не пойму что означает амперсанд в инструкции if

20.10.2014, 11:34. Показов 2140. Ответов 8
Метки нет (Все метки)

Здравствуйте, объясните пожалуйса, что знчит амперсант в инструкции if ведь здесь он не выполняет функцию поразрядного оператора, да и на И(&&) не похоже ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream >
using namespace std ;
int main()
ios::fmtflags f ;
f = cout.flag ();//Считывание флагов форматирования.
if(f&ios::showpos)
cout<<"Флаг showpos установлен для потока cout.\n";
else
cout<<"Флаг showpos сброшен для потока cout.\n";
cout<<"\n Установка флага showpos для потока cout.\n";
cout.setf(ios::showpos);//Установка флагов форматирования.
f=cout.flags( );
if(f&ios::showpos)
cout<<"Флаг showpos установлен для потока cout.\n";
else
cout<<"Флаг showpos сброшен для потока cout.\n";
cout<<"\n Сброс флага showpos для потока cout.\n";
cout.unset f(ios::showpos);//Сброс флагов форматирования.
f=cout.flags( );
if(f&ios::showpos)
cout<<"Флаг showpos установлен для потока cout.\n";
else
cout<<"Флаг showpos сброшен для потока cout.\n";
return0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.10.2014, 11:34
Ответы с готовыми решениями:

Что такое блоки и инструкции, вложенные инструкции и главные инструкции?
Что это такое?

Что означает "набор полей" в инструкции "ALTER TABLE"?
Здравствуйте! Прочитал статью...

Что делает амперсанд в этом примере?
Что делает амперсанд в этом примере? int ent = cw &amp; 5;

Что значит амперсанд(&) в вычислении?
В документации как то ни чего не сказано (либо я слишком слеп). В одном из примеров увидел:...

8
211 / 201 / 63
Регистрация: 24.09.2014
Сообщений: 532
20.10.2014, 11:36 2
битовое "и"
Bitwise operators
1
Заблокирован
20.10.2014, 11:40 3
Лучший ответ Сообщение было отмечено Кателевский ВН как решение

Решение

Цитата Сообщение от Кателевский ВН Посмотреть сообщение
f = cout.flag ();//Считывание флагов форматирования.
1.тут вместо flag() нужно flags();
2.в скобках
C++
1
if( f & ios::showpos)
проверяется содержание в составе f значения переменной ios::showpos, это проверка по маске называется. То есть в переменной f может быть записано много значений побитовым сложением, то есть коньюнкцией - оператор |. (f |= 0x44; f |= 0x67 и тд).
Для проверки наличия в составе переменной какого - то значения производится дизъюнкция, то есть побитовой умножение или же - твой амперсант - &
1
2641 / 2218 / 238
Регистрация: 03.07.2012
Сообщений: 8,047
Записей в блоге: 1
20.10.2014, 12:00 4
-THE_MASTER666-, вы все попутали:
& - это умножение, логическое И, конъюнкция
| - это сложение, логическое ИЛИ, дизъюнкция
1
211 / 201 / 63
Регистрация: 24.09.2014
Сообщений: 532
20.10.2014, 12:04 5
zer0mail, не путай. это битовые а не логические операции.
0
Заблокирован
20.10.2014, 12:16 6
Цитата Сообщение от zer0mail Посмотреть сообщение
& - это умножение, логическое И, конъюнкция
| - это сложение, логическое ИЛИ, дизъюнкция
А ну да, точняк, всегда путал дурацкие эти слова
0
0 / 0 / 1
Регистрация: 23.04.2014
Сообщений: 86
22.10.2014, 20:17  [ТС] 7
Благодарю всех за помощь. Разобрался.
0
2641 / 2218 / 238
Регистрация: 03.07.2012
Сообщений: 8,047
Записей в блоге: 1
22.10.2014, 22:35 8
Цитата Сообщение от arrjj Посмотреть сообщение
zer0mail, не путай. это битовые а не логические операции.
Имхо, очевидно, что это логические операции над битами.
0
211 / 201 / 63
Регистрация: 24.09.2014
Сообщений: 532
22.10.2014, 23:20 9
zer0mail, может и очевидно, но я бы не мешал понятия битовые операторы (&, |, ^, ~, <<, >>) и логические (!, &&, ||)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.10.2014, 23:20
Помогаю со студенческими работами здесь

Что означает появление письменности (языка), и что означает реформа письменности (языка)?
Не секрет, что духовность всегда сокрыта в письменности (языке), так высшая стадия развития...

Что за инструкции такие?
Товарищи, встретил такой пример. Цель данного кода разделить dx:ax на 512 не могу понять зачем...

В книге не пойму, что вектор, что модуль, стрелок нет
Прощу проверить мои знания: -В моём понимании векторное значение скорости - это к примеру 5...

Не запускается Windows, не пойму что сломалось - ОС, жесткий диск или еще что-то...
Включаю ноутбук. Всплывает окно &quot;Восстановление после ошибок Windows&quot;, в котором предлагается...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru