Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2010, 08:09   #1
gloriz
 
Регистрация: 16.04.2010
Сообщений: 8
По умолчанию Как действует эта операция?

Добрый день! Начал изучать с++ и вроде простая вещь, а не доходит. На Intuit.ru курс есть по с++ и вопрос по одной из тем:
Каково будет значение переменной k после выполнения следующего оператора

k <<= m – 3;

если до его выполнения k равнялось 6, а m равнялось 4?

Варианты ответа: 12, 36, 1293.

Если я правильно понял операция <<= есть присваивание левому значению оператора значение правого. В таком случае значение должно быть равно 1. Или я не так все понял. Объясните тупому

Последний раз редактировалось gloriz; 17.04.2010 в 08:48.
gloriz вне форума Ответить с цитированием
Старый 17.04.2010, 08:43   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Нет. Это
k=k<<(m – 3);
т.е. битовый сдвиг 6-ки на 1 это получается 12

P.S. Неужели трудно написать в компиляторе и запустить узнав?
Цитата:
Как перемещать или удалять
Никак. Это делают модераторы по просьбе или по необходимости.
Я перемещуЮ не волнуйся. Да и извеняться незачем - не вижу нарушения, но раз уж попросил...
А вот тему нужно называть адекватно.
I'm learning to live...

Последний раз редактировалось Stilet; 17.04.2010 в 08:45.
Stilet вне форума Ответить с цитированием
Старый 17.04.2010, 09:02   #3
gloriz
 
Регистрация: 16.04.2010
Сообщений: 8
По умолчанию

Я понимаю, что результат узнать можно легко, но понять суть, что к чему.
gloriz вне форума Ответить с цитированием
Старый 17.04.2010, 10:36   #4
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

<< операция побитового сдвига влево, по сути это умножение на степень двойки
6 << 1 = 6 * 2^1 = 12

аналогично >> только вправо - деление на степень двойки

6 >> 1 = 6 / 2^1 = 3
NiCola999 вне форума Ответить с цитированием
Старый 17.04.2010, 10:59   #5
gloriz
 
Регистрация: 16.04.2010
Сообщений: 8
По умолчанию

Спасибо за объяснения! Вообще бывает, изучая какой-то предмет, зацикливаешься на мелочи и время уходит куча на поиск ответа. Теперь я знаю куда обращаться в подобном случае
gloriz вне форума Ответить с цитированием
Старый 17.04.2010, 11:01   #6
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

но все-таки прежде чем обращаться сюда, обратись к google...
NiCola999 вне форума Ответить с цитированием
Старый 17.04.2010, 13:59   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А еще лучше книжки хорошие почитать. И доставать именно такие где примеры есть, и примеры эти пробовать в Visual Studio
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как расшифровывается эта единица измерения? Stilet Общие вопросы по программированию, компьютерный форум 3 22.01.2010 11:42
Как называется операция "->" Sazary Общие вопросы C/C++ 18 23.09.2009 18:45
В чём состоит эта ошибка и как её исправить? SViRT Помощь студентам 6 15.11.2008 12:35
Операция Ы SASHA50 Microsoft Office Excel 10 25.04.2008 12:38