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

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

Войти
Регистрация
Восстановить пароль
 
Da da
0 / 0 / 0
Регистрация: 08.05.2013
Сообщений: 6
#1

Прошу объяснить код С++ - C++

22.11.2013, 17:06. Просмотров 288. Ответов 1
Метки нет (Все метки)

здравствуйте, прошу объяснить как для полного нуба простейшими словами данный кусок кода:


y=150 (10010110 в двоичной)
C++
1
2
3
4
5
6
7
8
int y=150;
string xin=(""),yin=(""),xout=(""),yout=("");
 
for (int i=7; i>=0; --i)
{
yin+=((y >> i)&1)+'0';
}
cout  << yin;
то как происходят шаги цикла?
1.
1.1) берется 10010110 >> 7 = 00000001 (пошаговый сдвиг вправо, как мне объясняли, это - освободившиеся разряды обнуляются)
1.2) 00000001 & 1 =
1.3) + 0
1.4) что печатается?
как происходит шаг 2 и шаг 3?

заранее спасибо за объяснения

Добавлено через 21 час 40 минут
почему выводить 0 и 1, если стринг? а если инт - другие значения?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2013, 17:06     Прошу объяснить код С++
Посмотрите здесь:

Прошу объяснить ввод символов - C++
Дело касается самых основ, но что-то ускользнуло от моего понимания. #include &lt;iostream&gt; using namespace std; int main() { ...

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

Прошу объяснить смысл оператора int** - C++
Встретил в чужом коде следующй оператор: int** вот в таком контексте: (динамическое распределение памяти): int** m = new int*; ...

Прошу объяснить работу готовой программы - C++
Что требуется: При описании решения задачи следует отдельно выделить постановку задачи с указанием входных и выходных данных и метод...

непонятная для меня ошибка прошу объяснить знающих людей - C++
Я обращаюсь с проблемой во вроде бы рабочей программе. Задача была построить программу с сортировкой массивов методами пузырька и шейкера....

Я не прошу писать мне код, я прошу подсказать мне, что за структура требуется в задании - C++
Написать программу для работы по запросам оператора с приоритетной очередью запросов. Куча отображается в память двоичным деревом. ...

Объяснить код - C++
Может кто-нибудь смог бы закомментировать данные участок кода или объяснить что за что отвечает( можно еще и ссылки на сторонние ресуры...

Объяснить код - C++
#include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;locale.h&gt; #include &lt;stdlib.h&gt; int proverka(char *s, char *t) { int i,...

Объяснить код на С++ - C++
Прошу объяснить код на С++. Каким алгоритмом происходит распознание функций. Программа построения графиков функций. Разработка на visual...

Объяснить код - C++
Двоичный поиск #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;conio.h&quot; #include &quot;stdio.h&quot; using namespace std; int...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
3033 / 2354 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
22.11.2013, 17:27     Прошу объяснить код С++ #2
Данный код выводит первые восемь бит числа у.
Цитата Сообщение от Da da Посмотреть сообщение
1.1) берется 10010110 >> 7 = 00000001 (пошаговый сдвиг вправо, как мне объясняли, это - освободившиеся разряды обнуляются)
Для сдвига вправо для знаковых чисел есть две версии - арифметический сдвиг и логический. При логическом сдвиге освободившиеся биты действительно заполняются нулями, а при арифметическом значением знакового бита.
Цитата Сообщение от Da da Посмотреть сообщение
берется 10010110 >> 7 = 00000001
Сдвигаем биты в числе на текущее значение счетчика цикла i. При этом бит i оказывается на месте нулевого бита
Цитата Сообщение от Da da Посмотреть сообщение
1.2) 00000001 & 1 =
Операция побитового И, при побитовом И с единицей обнуляются все биты кроме нулевого
Цитата Сообщение от Da da Посмотреть сообщение
1.3) + 0
Прибавляем код символа! 0, получившееся число прибавляем к yin, т.к. yin строка, она интерпрeтирует полученное число как символ.
Yandex
Объявления
22.11.2013, 17:27     Прошу объяснить код С++
Ответ Создать тему
Опции темы

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