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

Операции в С++ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
Taras_Z
 Аватар для Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
09.03.2012, 18:57     Операции в С++ #1
Я не могу понять что делают ети операции
>>
<<
&=
|=
^=
Обясните пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2012, 18:57     Операции в С++
Посмотрите здесь:

Перегрузить операции C++
Операции с Матрицами C++
C++ Операции с переменными
Операции с рандомом C++
C++ Элементарные операции
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
09.03.2012, 19:09     Операции в С++ #2
Побитовые операции.
Taras_Z
 Аватар для Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
09.03.2012, 19:14  [ТС]     Операции в С++ #3
ето я знаю пример что делают они навести можно?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
09.03.2012, 19:17     Операции в С++ #4
Цитата Сообщение от Taras_Z Посмотреть сообщение
ето я знаю пример что делают они навести можно?
Я разобрал только слово пример, из всего, что вы написали. Так вот
C
1
2
3
int a = 5;
a |= 1;
/* и т.д. */
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
09.03.2012, 19:21     Операции в С++ #5
Цитата Сообщение от Taras_Z Посмотреть сообщение
пример что делают они навести можно?
вывод целого числа в двоичной системе
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
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <clocale>
#include <cstdlib>
 
void print(int n)
{
    static const unsigned short int count = sizeof(int) * 8;
    char buffer[count];
    
    int copy = n;
    for (unsigned short int i = 0; i < count; ++i)
    {
        buffer[i] = (copy & 1) + '0';
        copy >>= 1;
    }
    
    for (unsigned short int i = 0; i < count / 2; ++i)
        std::swap(buffer[i], buffer[count - i - 1]);
    
    for (unsigned short int i = 0; i < count; )
    {
        for (unsigned short int j = 0; j < 8; ++j)
            std::cout << buffer[i++];
        std::cout << " ";
    }
        
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int number;
    
    std::cout << "Введите число:" << std::endl;
    std::cin >> number;
    
    print(number);
    
    system("Pause");
    return EXIT_SUCCESS;
}
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,178
Завершенные тесты: 1
09.03.2012, 19:36     Операции в С++ #6
Цитата Сообщение от Taras_Z Посмотреть сообщение
Я не могу понять что делают ети операции >> << &= |= ^=
Если рассматривать только С, тогда
>> это поразрядный сдвиг вправо (x=a>>3; значит сдвинуть a на 3 разряда вправо и записать в x).
<< это поразрядный сдвиг влево (x=a<<3; значит сдвинуть a на 3 разряда влево и записать в x).
&,|,^ - побитовые операции И,ИЛИ, ИСКЛ.ИЛИ (пример использования: x=a & 0x07.
&=,|=,^= - побитовые операции И,ИЛИ, ИСКЛ.ИЛИ с последующим присваиванием(пример использования: x&=0x07; означает x=x&0x07.
Taras_Z
 Аватар для Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
09.03.2012, 19:38  [ТС]     Операции в С++ #7
спасибо!
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
09.03.2012, 21:33     Операции в С++ #8
Цитата Сообщение от zss2 Посмотреть сообщение
Если рассматривать только С
А если не только его?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
09.03.2012, 21:39     Операции в С++ #9
silent_1991, в том то и дело, что ТС необходим С++.

>> - операция извлечение данных из потока или операция ввода;
<< - операция вставки данных в поток или операция вывода;
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
09.03.2012, 22:01     Операции в С++ #10
go, О_о. Перегрузка операции не меняет её названия. Как были операциями сдвига - так ими и остались. К тому же, наличие операций "&=", "|=", "^=" в вопросе наводит на мысль, что нужны всё же описания операций применительно к числовым операндам (то есть к стандартным типам).
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
09.03.2012, 22:06     Операции в С++ #11
Цитата Сообщение от silent_1991 Посмотреть сообщение
Перегрузка операции не меняет её названия.
А где я говорил про название. Вы меня опять не поняли.
В С++ они могут выполнять следующие действия(я описал выше).
Цитата Сообщение от Taras_Z Посмотреть сообщение
Я не могу понять что делают ети операции
silent_1991, вопрос, что делают, а не как называются.

Добавлено через 45 секунд
Цитата Сообщение от silent_1991 Посмотреть сообщение
К тому же, наличие операций "&="
Это операторы
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2012, 11:20     Операции в С++
Еще ссылки по теме:

C++ Побитовые операции
Перегрузка операции C++
Битовые операции и операции смещения языка С C++

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

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
10.03.2012, 11:20     Операции в С++ #12
Цитата Сообщение от go Посмотреть сообщение
операторы
Это "<<" ">>" тоже.
Yandex
Объявления
10.03.2012, 11:20     Операции в С++
Ответ Создать тему
Опции темы

Текущее время: 12:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru