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

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

Войти
Регистрация
Восстановить пароль
 
Alston
7 / 7 / 0
Регистрация: 16.09.2009
Сообщений: 410
#1

Побитовые логические операции - C++

21.03.2010, 18:17. Просмотров 729. Ответов 9
Метки нет (Все метки)

Знайти!!!
Миниатюры
Побитовые логические операции  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2010, 18:17     Побитовые логические операции
Посмотрите здесь:

Логические операции (Логические &&, ||) (Побитовые &, |) - C++
Здравствуйте! Имеется вопрос. К примеру, когда пишут вот так : ... if(i>5 && j>5) ... if(i>5 || j>5) ... Тут все понятно, в...

Побитовые операции - C++
Помогите пожалуйста, никак не могу справиться с этой задачкой. Выделить из числа x поле шириной n битов, начиная с позиции p, и...

Побитовые операции - C++
Помогите, не могу понять как сделать эту программу( unsigned ChangeGroupBits(unsigned x, unsigned y, int n1, int n2); ChangeGroupBits–...

Побитовые операции - C++
Задача: битовый образ 8*8 задается при помощи 8 байт, каждый байт состоит, соответственно, из 8 бит, бит={0,1}; при помощи побитовых...

Побитовые операции в С++ - C++
Здраствуйте. Нужно написать программу которая будед считывать количество единичек (1) в побитовом представлении числа. Пример input: 15 ...

Побитовые операции - C++
Пожалуйста, объясните как работают побитовые операторы & и |. Например идет: i=03; j=01; k=i & j; // k=1 k=i | j; // k=3 А почему...

Побитовые операции - C++
От друга услышал идею о побитовой сортировки имен (например). К примеру, если у нас набор структурных переменных с анкетами работников, и...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alston
7 / 7 / 0
Регистрация: 16.09.2009
Сообщений: 410
21.03.2010, 18:39  [ТС]     Побитовые логические операции #2
Нужно написать програму!!!
Пусть b1 = 1010001, b2 = 10101000. Найти
А) b1 & b2
Б) b1 | b2
В) b1 ^ b2
Г) ~ b1
Ето относится к теме побитовие логические операции!!!
UKOL
112 / 64 / 7
Регистрация: 17.11.2009
Сообщений: 258
21.03.2010, 19:04     Побитовые логические операции #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main()
{
    int b1=1010001, b2=10101000;
    std::cout << b1 << "   " << b2 << std::endl
        <<  (b1 & b2) << std::endl
        <<  (b1 | b2) << std::endl
        <<  (b1 ^ b2) << std::endl
        << (~ b1) << std::endl;
 
    return 0;
}
Оно? Я в битах не силен.

Добавлено через 12 минут
Или не так?
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
21.03.2010, 19:07     Побитовые логические операции #4
UKOL, дело в том, что числа будут интерпретироваться не как двоичные, а как десятичные.
Alston
7 / 7 / 0
Регистрация: 16.09.2009
Сообщений: 410
21.03.2010, 19:31  [ТС]     Побитовые логические операции #5
ето не так!!! Помогите кто то!!!
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
21.03.2010, 19:37     Побитовые логические операции #6
b1=153, b2=132; Выполняешь требуемые операции, результат (если нужно) переводишь в двоичную систему счисления
Alston
7 / 7 / 0
Регистрация: 16.09.2009
Сообщений: 410
21.03.2010, 19:42  [ТС]     Побитовые логические операции #7
Я просто новичок, можите мне написать програму?!!
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
21.03.2010, 19:52     Побитовые логические операции #8
Вот, собственно, программа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main()
{
        int b1=153, b2=132;
        std::cout << b1 << "   " << b2 << std::endl
                <<  (b1 & b2) << std::endl
                <<  (b1 | b2) << std::endl
                <<  (b1 ^ b2) << std::endl
                << (~ b1) << std::endl;
 
        return 0;
}
Отличие от прошлого примера в том, что b1 и b2 инициализируются десятичными числами, соответствующими данным двоичным. Проблема только в том, что и вывод будет происходить в десятичной системе счисления

Добавлено через 5 минут
Здесь перевод из десятичной в двоичную систему счисления, если надо
UKOL
112 / 64 / 7
Регистрация: 17.11.2009
Сообщений: 258
21.03.2010, 20:00     Побитовые логические операции #9
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
#include <stdio.h>
#include <stdlib.h>
void dec2bin(int);
int main()
{
    int b1=153; int b2=132;
        dec2bin((b1&b2));
        printf("\n");
        dec2bin((b1 | b2));
        printf("\n");
        dec2bin((b1 ^ b2));
        printf("\n");
        dec2bin((~ b1));
        printf("\n");
 
    return 0;
}
 
void dec2bin(int x)
{
        if (x)
        {
                dec2bin(x/2);
                printf("%i", x%2);
        }
}
Может типа чтонибудь этого?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2010, 20:17     Побитовые логические операции
Еще ссылки по теме:

Побитовые операции - C++
Всем доброго утра. Дана такая задача: есть два чсила,поменять местами 2 последние цифры этих чисел между собой, т.е. 2 последних Х заменить...

Побитовые операции - C++
1-программа #include &lt;stdio.h&gt; #include &lt;windows.h&gt; int main(void) { char g; /* ??? ????????? */ char s; /* ??????? ?????? */ ...

Побитовые операции - C++
Здравствуйте уважаемые читатели форума! СОвсем не представляю как сделать простейшую програмку на С++. Нужно вычислить номер позиции...

Объяснить побитовые операции - C++
Возможно кто-то мне объяснит что здесь происходит?) Что-то я не догоняю) bits |= 1 &lt;&lt; (n &amp; 7);

Задача на побитовые операции - C++
объясните пожалуйста, как решить эту задачу: Упражнение 2.6. Напишите функцию setbits(x, p, n, y), возвращающую значение x, в ...


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

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт CЭксперт С++
9461 / 5474 / 927
Регистрация: 25.07.2009
Сообщений: 10,498
21.03.2010, 20:17     Побитовые логические операции #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
#include <string>
#include <sstream>
#include <climits>
 
template <typename T>   
class BINSTR {
public:
    std::string operator() ( T num ) {
        std::ostringstream _str;
        for ( int i = CHAR_BIT * sizeof(T) - 1; i >= 0; --i )
            _str << ( num >> i & 1 );
        return _str.str();
    }
};
 
int main(){
    int a = 0x51, b = 0xa8;
    BINSTR<int> binStr;
    std::cout << "A = " << binStr(a) << std::endl << "B = " << binStr(b) << std::endl;
    std::cout << "A & B = " << binStr(a & b) << std::endl;
    std::cout << "A | B = " << binStr(a | b) << std::endl;
    std::cout << "A ^ B = " << binStr(a ^ b) << std::endl;
    std::cout << "~A = " << binStr(~a) << std::endl;
    return 0;
}
Yandex
Объявления
21.03.2010, 20:17     Побитовые логические операции
Ответ Создать тему
Опции темы

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