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

C++

Войти
Регистрация
Восстановить пароль
 
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
#1

Глючат битовые операторы. - C++

20.12.2009, 21:13. Просмотров 520. Ответов 3
Метки нет (Все метки)

Когда пользуюсь битовыми операторами, программа выдает хз какие значения:

18|89 = 91 должно быть 89, т. к. объединение - большая часть
18&89 = 16 (18)
18^89 = 75 (72)
~18 = -19 (-18)

Насколько я понял, битовые операторы корректно работают только со значениями bool?

Вот код например:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int main()
{
    int a=18, b=89, res;
    cout << endl;
    
    res = a | b;
    cout << a << "|" << b << " = " << res << endl;
    res = a&b;
    cout << a << "&" << b << " = " << res << endl;
    res = a^b;
    cout << a << "^" << b << " = " << res << endl;
    res = ~a;
    cout << "~" << a << " = " << res << endl;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2009, 21:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Глючат битовые операторы. (C++):

Битовые утечки при записи данных на диск - C++
Доброго дня форумчане! Сорри если оффтоп но... Пишу в консольке на C++ (MSVCE 2010) различные движки по расчетам и тут столкнулся с...

out_of_range exaptions и условные операторы - C++
Меня интересует следущее: почему этот код не выдает ошибок типа &quot;индекс вне границ массива&quot; if (a &gt; 0) something(); Работа этого кода...

Операторы в классе - C++ Builder
Здравствуйте. По книге &quot;Бьерн Страуструп - Язык программирования C++&quot; написал void test::operator = (const test &amp; c) { a = c.a; ...

Вычисления и условные операторы - C++ Builder
Разместить на форме 2 компонента Edit для ввода роста и веса пользователя. При нажатии на кнопку программа вычисляет индекс массы тела...

функции или операторы - C++ Builder
можете рассказать что они делают в отдельность, или вместе - TReplaceFlags() &lt;&lt; rfReplaceAll &lt;&lt; rfIgnoreCase

перегруженые операторы ввода-вывода - C++ Builder
очень прошу помочь с перегруженными операторами ввода-вывода ну например для списка с параметром Student есть простенькая структура: ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
20.12.2009, 22:02 #2
они работают коректно, но не с числами а разрядами

не в обиду, но вам поря поспать:
1011001 побитовое или с
0010010 даст
1011011 - увеличение на 2 здесь 1011011

1011001 побитовое и с
0010010 даст
0010000 = 16 сошлось

1011001 побитовое исключающее или с
0010010 даст
1001011 = анализуруем: отнимает от 89 16 здесь 1001011 и прибавляем 2 здесь: 1001011 и того 89-16+2 = 75 - сошлось

на счет "не" ничего не могу сказать.. к сожалению.. но врядли машина "опять ошиблась"
1
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
20.12.2009, 22:12  [ТС] #3
>> outoftime
Спасибо. Я думал, только побитовые ( << и >> ) работают с разрядами. Однако битовые тоже.

Тогда вопрос - будут ли они корректно работать с истинностными (1/0) значениями?
0
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
20.12.2009, 23:42 #4
нет, эти только с числами, для истеностных есть &&, || и кажись все.. а нет, есть еще !
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2009, 23:42
Привет! Вот еще темы с ответами:

Арифметические выражения и условные операторы - C++ Builder
С помощью условного оператора определить, находится ли точка на плоскости в замкнутой области. Если находится, то вычислить значение...

Типы данных. Операции. Операторы. операторы ветвления - Visual C++
Создать программу. Воспользоваться оператором вариантов. ...

Битовые операторы - C++
Доброго времени суток, уважаемые форумчане. Возник такой вопрос, а какой формулой можно отобразить действие операторов &amp; и ^? Полазив...

Не могу разобраться в термине "Битовые операторы" - C++
Есть к примеру такой код, интересует строка fd.dwFileAttributes &amp; FILE_ATTRIBUTE_DIRECTORY , я почитал про &amp;, там как я понял...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.12.2009, 23:42
Ответ Создать тему
Опции темы

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