3 / 3 / 2
Регистрация: 31.10.2009
Сообщений: 112
1

Программка на Си++

20.09.2010, 21:08. Показов 1382. Ответов 15
Метки нет (Все метки)

Добрый вечер, пишу свою первую программу на с++ и вот какое условие стоит в ней, программу написал и она отрабатывает, но не могу понять один нюанс b>>2 побитовое смещение, как оно выполняется, вот полное условие задачи a+=b+=c*=b>>2, при a=4,b=5,c=6 результат выходит 15, объясните последнее действие с побитовым смещением?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2010, 21:08
Ответы с готовыми решениями:

Программка
Здравствуйте, помогите сделать задание, нужно "Ввести цифры словами, чтобы выводилось при написании...

программка
люди хелп нужно задачку решить в одномерном массиве состоящем из n вещественных элементов...

Программка
Нужна помощь с прогой на с++, мы с ним на вы( суть такая: юзер вводит число n. Программа выдаёт...

Программка
Помогите пожалуйста отредактировать программу.

15
Freelance
Эксперт С++
2887 / 1822 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
20.09.2010, 21:18 2
>> - ето оператор иницыализацыи переменной з клавиатуры.

Шилдт
Етот оператор присваивает переменной значение введёное с клавиатуры
0
1551 / 917 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
20.09.2010, 21:19 3
Asics^, прошу прощения, но вы чего несете то ?)
0
Freelance
Эксперт С++
2887 / 1822 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
20.09.2010, 21:26 4
Цитата Сообщение от neske Посмотреть сообщение
Asics^, прошу прощения, но вы чего несете то ?)
А что я не так написал ?
0
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
20.09.2010, 21:41 5

Не по теме:

shyrik2014, зачем картинку мою украл?



Добавлено через 3 минуты
Цитата Сообщение от Asics^ Посмотреть сообщение
А что я не так написал ?
>> - перегруженный оператор, он и для ввода и для сдвига

Добавлено через 1 минуту
Цитата Сообщение от shyrik2014 Посмотреть сообщение
при a=4,b=5,c=6 результат выходит 15
4+5+6=15 верно
0
3 / 3 / 2
Регистрация: 31.10.2009
Сообщений: 112
20.09.2010, 21:47  [ТС] 6
Цитата Сообщение от PointsEqual Посмотреть сообщение

Не по теме:

shyrik2014, зачем картинку мою украл?



Добавлено через 3 минуты

>> - перегруженный оператор, он и для ввода и для сдвига

Добавлено через 1 минуту

4+6+5=15 верно
А что этот оператор сдвигает, значение 2-это количество позиций на которое он сдвигает результат 15?
0
Эксперт С++
5038 / 2617 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
20.09.2010, 21:49 7
Цитата Сообщение от shyrik2014 Посмотреть сообщение
что этот оператор сдвигает
биты. http://ru.wikipedia.org/wiki/Битовый_сдвиг
0
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
20.09.2010, 21:52 8
Цитата Сообщение от shyrik2014 Посмотреть сообщение
a+=b+=c*=b>>2, при a=4,b=5,c=6
(5>>2) == 1
c = c * 1 == 6
b = b + 6 == 11;
a = a + 11 ==15
0
Freelance
Эксперт С++
2887 / 1822 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
20.09.2010, 21:52 9
neske
Я так и не понял вашего удивление по поводу моего поста ..
0
Эксперт С++
5038 / 2617 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
20.09.2010, 22:04 10
Asics^, потому что >> или << это операторы битового сдвига. все остальное это просто перегруженные операторы. я например могу в своем классе перегрузить такие операторы так, что они будут выполнять умножение и деление, что же теперь всем рассказывать, что это операторы умножения и деления?
0
3 / 3 / 2
Регистрация: 31.10.2009
Сообщений: 112
20.09.2010, 22:07  [ТС] 11
Цитата Сообщение от PointsEqual Посмотреть сообщение
(5>>2) == 1
c = c * 1 == 6
b = b + 6 == 11;
a = a + 11 ==15
(5>>2) == 1 поясните вот эту строчку подробнее?
0
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
20.09.2010, 22:07 12
5 = 101
101 >> 2 = 1
1 = 1

все просто
1
3 / 3 / 2
Регистрация: 31.10.2009
Сообщений: 112
20.09.2010, 22:17  [ТС] 13
Цитата Сообщение от PointsEqual Посмотреть сообщение
5 = 101
101 >> 2 = 1
1 = 1

все просто
Спасибо за разъяснение!
0
Freelance
Эксперт С++
2887 / 1822 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
20.09.2010, 22:24 14
fasked, Но то что я написал в своём посте,я же не придумал,ето так и есть.
0
1551 / 917 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
20.09.2010, 22:29 15
Asics^, но вы вопрос ТС видели?
Он спрашивает про битовые операции, ваши слова были не уместны.
0
2018 / 1617 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
20.09.2010, 23:15 16
Цитата Сообщение от shyrik2014 Посмотреть сообщение
но не могу понять один нюанс b>>2 побитовое смещение, как оно выполняется
Допустим, есть у нас некое десятичное число, например 50000. Удали в нём один разряд и получишь 5000. Удали ещё один, будет 500 и т.д. Т.е. мы каждый раз выполняли, так сказать, сдвиг вправо на один десятичный разряд.
50000
_5000
__500
Число, как нетрудно заметить, становится в десять раз меньше после каждого такого сдвига вправо. С двоичными числами происходит тоже самое, только они становятся меньше не в десять раз, а в два. Т.е., допустим у нас есть некое число, например 10(в десятичной). В двоичном виде это 1010. делаем сдвиг вправо
1 0 1 0 --> 10
0 1 0 1 --> 5
0 0 1 0 --> 2
0 0 0 1 --> 1
вот и всё.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.09.2010, 23:15
Помогаю со студенческими работами здесь

программка.
подскажите плз!!!!!

Программка
Тут в общем сорян за такую тему, нужна помощь (если не сложно), написать приложение небольшое: ...

Небольшая программка
Программа должна выводить на экран запрос на ввод числа (от 1 до 12), а потом выводить название...

Программка Insert!
Доброго времени суток! Ребят, помогите нужно либо 1) написать мелкую програмку для вставки любых...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru