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

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

Войти
Регистрация
Восстановить пароль
 
Boshop
13 / 13 / 0
Регистрация: 25.09.2012
Сообщений: 122
#1

Для чего используются побитовые операции? - C++

09.12.2012, 15:23. Просмотров 627. Ответов 5
Метки нет (Все метки)

Для чего используются побитовые операции & и | ? В чем их назначение?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2012, 15:23     Для чего используются побитовые операции?
Посмотрите здесь:

Для чего используются DLL-библиотеки? - C++
Для чего используются DLL-библиотеки Неужели заголовочного файла мало.

Какие паттерны используются в программе и для чего? - C++
Помогите, пожалуйста, разобраться. Определите какие паттерны в программе. для чего они там? class Man{ char* mpName; char* mpsername;...

Побитовые операции для преобразования в двоичную, восьмеричную и шестнадцатиричную системы исчисления - C++
прощу помощи с написанием след.программы: Используя только побитовые операторы представить число, которое вводит пользователь в...

Что такое полис и конечные автоматы и для чего используются в с++? - C++
ОЧЕНЬ ХОЧУ ЗНАТЬ. ПОМОГИТЕ!!!!!!!!!

Функции. побитовые операции. Написать функцию, которая для заданного целого числа Х вычисляет количество единичных битов в этом числе - C++
Здравствуйте, уважаемые мастера программирования. Нуждаюсь в вашей помощи. Написать функцию, которая для заданного целого числа Х...

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

Побитовые операции - C++
Помогите решить несколько задач по битовым операциям,они все малы по реализации. И объяснить начиная с 3 задачи,что нужно сделать?А то не...

Побитовые операции - C++
Задание: Дано целое неотрицательное число. Определить количество составляющих его шестнадцатеричных цифр, содержащих в двоичном...

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

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

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

Побитовые операции - C++
Задача должна быть реализована в с++ но пришлось временно писать в дельфи. суть такая: входящие число в диапазоне 0-n (8 байт) выходящие...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
09.12.2012, 16:32     Для чего используются побитовые операции? #2
Например, для установки отдельных бит в байте
BUMER
157 / 12 / 0
Регистрация: 01.04.2009
Сообщений: 103
09.12.2012, 16:46     Для чего используются побитовые операции? #3
Арифметические операции над булевыми векторами. Или например для умножения/деления на 2, 4, 8 и т. д. Много вариантов использования
Boshop
13 / 13 / 0
Регистрация: 25.09.2012
Сообщений: 122
09.12.2012, 17:33  [ТС]     Для чего используются побитовые операции? #4
а можно пример самый простой?
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
09.12.2012, 17:48     Для чего используются побитовые операции? #5
x^=x;//обнуление x
x|=(1<<bit); //установка бита bit в x
x=~x;// инверсия битов x

используются для хранения битовых флагов,
сжатия по алгоритму Хаффмана.
Отсечения регулярным окном по алгоритму Кируса-Бека
в микроконтроллерах так вообще повсеместно используются

Вообще для оптимизации по скорости любого алгоритма там где возможно применяются битовые операции.
Пример быстрое извлечение корня
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
unsigned short isqrt(unsigned long a) {
    unsigned long rem = 0;
    int root = 0;
    int i;
 
    for (i = 0; i < 16; i++) {
        root <<= 1;
        rem <<= 2;
        rem += a >> 30;
        a <<= 2;
 
        if (root < rem) {
            root++;
            rem -= root;
            root++;
        }
    }
 
    return (unsigned short) (root >> 1);
}
NeonLost
Пес войны
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
09.12.2012, 18:38     Для чего используются побитовые операции? #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
вот простой ксор для шифровки текста
C++
1
2
3
4
5
6
7
8
9
10
11
string XOR(string Text)
{   
    int i=0; 
    while(Text[i])
    {
       char mask=(sin(3.14+i)*400)-(cos(3.14+i)*250/20);
       Text[i]=(Text[i]^mask);
       i++;
    }
    return Text;
}
а это быстрое деление на 2
C++
1
2
3
4
5
6
7
8
9
#include<iostream>
using namespace std;
int main()
{
    int x=12;
    x=x>>1;
    cout<<x;
    getchar();
}
Yandex
Объявления
09.12.2012, 18:38     Для чего используются побитовые операции?
Ответ Создать тему
Опции темы

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