Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 1
Регистрация: 08.05.2013
Сообщений: 6

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

22.11.2013, 17:06. Показов 747. Ответов 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, если стринг? а если инт - другие значения?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.11.2013, 17:06
Ответы с готовыми решениями:

Прошу объяснить о ссылках,указателях,стрелке -> и двоеточиях :: очень прошу я не понял синтаксис
Здравствуйте! Есть конкретно 4 типа: 1)стрелка (-&gt;) 2)указатели (*) 3)ссылки (&amp;) 4)2е двоеточий (::) а вопрос:что они собой...

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

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

1
 Аватар для kazak
3601 / 2742 / 355
Регистрация: 11.03.2009
Сообщений: 6,300
22.11.2013, 17:27
Данный код выводит первые восемь бит числа у.
Цитата Сообщение от 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тирует полученное число как символ.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.11.2013, 17:27
Помогаю со студенческими работами здесь

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

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

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

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

Прошу объяснить мне почему я не могу задать размер массива с консоли, без его ограничения каким либо числом?
int n; int mx = 0; cin &gt;&gt; n; int a ; //не выходит это чертово n использовать приходится писать по дркугому for...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru