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

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

Войти
Регистрация
Восстановить пароль
 
Iostream
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 30
#1

Выполнение битовых логических операций - C++

20.06.2013, 18:16. Просмотров 623. Ответов 4
Метки нет (Все метки)

Вот такой пример:
Кликните здесь для просмотра всего текста
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
26
27
28
29
30
31
// BitTest — инициируются две переменные и
// выводятся результаты выполнения
// операторов ~,&,| и ^
#include <stdio.h>
#include <iostream>
using namespace std;
int main(int nArq, char* pszArgs[])
{
// установка вывода в шестнадцатеричном виде
cout.setf (ios::hex, ios::hex) ;
// инициализация двух аргументов
int nArq1 = 0x1234;
int nArq2 = 0x00ff;
// Выполнение логических операций
// Сначала применяем унарный оператор NOT
cout<< "Arq1=0x"<<nArq1<<"\n";
cout<< "Arq2=0x"<<nArq2<<"\n";
cout<< "~Arq1=0x"<<~nArq1<<"\n";
cout<< "~Arq2=0x"<<~nArq2<<"\n";
//Теперь бинарные операторы
cout<<"nArq1&nArq2=0x"
    <<(nArq1&nArq2)
    <<"\n";
cout<<"nArq1|nArq2=0x"
    <<(nArq1|nArq2)
    <<"\n";
cout<<"nArq1^nArq2=0x"
    <<(nArq1^nArq2)
    <<"\n";
return 0;
}

В учебнике ответ на (картинке) внизу, у меня получилось то, что (на картинке) вверху.
Выполнение битовых логических операций
В чем проблема?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2013, 18:16     Выполнение битовых логических операций
Посмотрите здесь:

Реализация битовых операций в Си++ - C++
По теме: Реализация битовых операций в Си++. Даны два неравных числа: n и m, не превосходящие 31. Вычислите 2^n+2^m.

Объясните перебор всех значений от 0 до n с помощью битовых операций - C++
for (int i = (1 &lt;&lt; n) - 1; i &gt;= 0; i--) { for (int j = 0; j &lt; n; j++) { if (i &amp; (1 &lt;&lt; j)) Этот кусок кода означает...

Описание логических операций - C++
Добрый вечер! Имеется задача по выведению закрашиваемых областей на кругах Эйлера по введенным логическим выражениям. Уперся в то, что не...

Корректное написание логических операций - C++
Скоро экзамен по информатике, созрел вопрос - как корректнее писать логическое И и ИЛИ в С++? И: and или &amp;&amp; ИЛИ: or или || до сего...

Калькулятор логических/арифметических операций(подробности внутри) - C++
1ый курс одного электротехнического вуза! Суть программы, которую нужно написать: Написать нужно на чистом Си Написать...

Где почитать про перегрузку поразрядных логических операций (|, &, ^) - C++
Здравствуйте. Подскажите пособие, где как можно подробно описывается перегрузка поразрядных логических операций (|, &amp;, ^).

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
21.06.2013, 16:47     Выполнение битовых логических операций #2
у Вас вывод в 10ичном виде

Добавлено через 3 минуты
Цитата Сообщение от Iostream Посмотреть сообщение
C++
1
cout.setf (ios::hex, ios::hex) ;
заментите на
C++
1
cout.setf(ios::hex, std::ios::basefield );
tezaurismosis
Администратор
Эксперт .NET
6813 / 3183 / 492
Регистрация: 17.04.2012
Сообщений: 7,880
Записей в блоге: 14
21.06.2013, 16:54     Выполнение битовых логических операций #3
Только printf, только хардкор
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <cstdio>
 
int main() {
    // инициализация двух аргументов
    int nArq1 = 0x1234;
    int nArq2 = 0x00ff;
    // Выполнение логических операций
    // Сначала применяем унарный оператор NOT
    printf("nArq1 = %#x\n", nArq1);
    printf("nArq2 = %#x\n", nArq2);
    printf("~nArq1 = %#x\n", ~nArq1);
    printf("~nArq2 = %#x\n", ~nArq2);
    //Теперь бинарные операторы
    printf("nArq1 & nArq2 = %#x\n", nArq1 & nArq2);
    printf("nArq1 | nArq2 = %#x\n", nArq1 | nArq2);
    printf("nArq1 ^ nArq2 = %#x\n", nArq1 ^ nArq2);
    return 0;
}
Iostream
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 30
23.06.2013, 14:53  [ТС]     Выполнение битовых логических операций #4
Цитата Сообщение от aLarman Посмотреть сообщение
Код C++
1
cout.setf(ios::hex, std::ios::basefield );
Спасибо вам, всё получилось. Если не затруднит объясните почему нужно было так ввести, а не как в учебнике? Я так понимаю, это связано с тем, что в учебнике старый компилятор, а сейчас многое изменилось потому, что это уже не 1-й пример, где нужно было менять код...

Добавлено через 23 минуты
Цитата Сообщение от tezaurismosis Посмотреть сообщение
Только printf, только хардкор
Видимо не только)). Вариант, aLarman' a тоже правильный. А какой и когда правильней, есть ли разница? Если есть, объясните пожалуйста.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2013, 16:23     Выполнение битовых логических операций
Еще ссылки по теме:

Построение многослойного персептрона для вычисления результатов логических операций (xor) - C++
Сижу уже несколько дней. Подскажите что не так с кодом. Заранее спасибо #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...

Фоновое выполнение операций - C++
#include &lt;stdio.h&gt; #include &lt;locale.h&gt; #include &lt;string&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; #include &lt;iostream&gt; using...

Выполнение операций в отдельном потоке - C++
Например у меня есть функция. void musik() //Создание потоковой функции { Beep(2000,3000); } Как сделать поток,...

Калькулятор: выполнение арифметических операций в любой системе счисления - C++
Нужен калькулятор который может совершать арифметичиские операции(+,-,*,/) в любой системе исчисления (2-16)

Перевод числа из одной системы счисления в другую и выполнение арифметических операций - C++
Написать программу: Числа по основанию 2 и 8. Выполнить операцию умножения.

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


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

Или воспользуйтесь поиском по форуму:
tezaurismosis
Администратор
Эксперт .NET
6813 / 3183 / 492
Регистрация: 17.04.2012
Сообщений: 7,880
Записей в блоге: 14
23.06.2013, 16:23     Выполнение битовых логических операций #5
Цитата Сообщение от Iostream Посмотреть сообщение
А какой и когда правильней, есть ли разница? Если есть, объясните пожалуйста.
Так как вы пишите на C++, то правильней вариант @aLarman, я же использую printf, использующийся в C, но для совместимости может использоваться и в C++
Yandex
Объявления
23.06.2013, 16:23     Выполнение битовых логических операций
Ответ Создать тему
Опции темы

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