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

Программа, переводящая число из одной системы счисления в другую - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Решето Эратосфена http://www.cyberforum.ru/cpp-beginners/thread1191035.html
Как можно реализовать? Подскажите плиз
C++ Выложите код для отправки по FTP среда CodeBlocks Нигде не могу найти... Помогите, может есть у кого в коллекции... ) Заранее спасибо) http://www.cyberforum.ru/cpp-beginners/thread1191025.html
Перегрузка стандартных операций C++
Дан класс (например, с именем Vector), задающий вектор размерности n. Поля класса: указатель на массив, задающий вектор (тип элемента int или double в зависимости от варианта), массив должен создаваться динамически, число элементов (размерность) вектора (тип int). Класс включает: конструктор без параметров, задающий пустой вектор (число элементов равно 0); конструктор, создающий объект вектор на...
C++ Как выставить паузу в C++ при запуске файла ?
имеется bat файл вот с таким кодом c:\work\suep\exe\name1.exe pause c:\work\suep\edit\edit.com c:\work\suep\otcet\rabeds.in pause CLS c:\work\suep\exe\ceds.exe pause CLS
C++ Достать нужный объект из контейнера http://www.cyberforum.ru/cpp-beginners/thread1191013.html
Возник вопрос, отчасти я сам решил(получил нужный результат), но очень коряво. Мне нужно достать нужный объект из контейнера на абстрактный класс в методах классов наследниках. Если вкратце, то у меня есть контейнер указателей на абстрактный класс, в котором хранятся различные объекты классов наследников, в моём случае это класс "Метеорит" и "Лазер", со временем будут ещё. Хотелось бы...
C++ Не инициализированные указатели Добрый день, пишу небольшую игру на движке, появилась проблема main.cpp #include “mainClass.h” int main() { bool endless = true; mainClass mainObject; mainObject.initialize(); подробнее

Показать сообщение отдельно
kasan
Чорумфанин
337 / 337 / 185
Регистрация: 06.03.2014
Сообщений: 872
28.05.2014, 13:17     Программа, переводящая число из одной системы счисления в другую
bazzinga13,
возьмем 42, в двоичной системе это 101010 (такое число и вводим)
теперь var = 101010
заходим в цикл
------------------
r=1
вычисляем (var%10)*r; var%10 будет 0, это выражение фактически говорит нам какая последняя цифра у нашего числа (сейчас это 0). 0*r будет 0. Прибавляем 0 к result. В result у нас пока 0.

var /= 10
деление числа на 10 без остатка, "отрезаем" последнюю цифру в числе. после этого действа var=10101
------------------
след. итерация, r=2
вычисляем (var%10)*r; var%10 будет 1 (последняя цифра числа var, помним, что наше var=10101)
1*r = 2. Прибавляем 2 к result. В result у нас 2.

var /= 10
деление числа на 10 без остатка, "отрезаем" последнюю цифру в числе. после этого действа var=1010
------------------
след. итерация, r=4 (по условию цикла каждое следующее r в два раза больше предидущего)
вычисляем (var%10)*r; var%10 будет 0 (последняя цифра числа var, помним, что наше var=1010)
0*r = 0. Прибавляем 0 к result. В result у нас 2.

var /= 10
деление числа на 10 без остатка, "отрезаем" последнюю цифру в числе. после этого действа var=101
------------------
след. итерация, r=8 (по условию цикла каждое следующее r в два раза больше предидущего)
вычисляем (var%10)*r; var%10 будет 1 (последняя цифра числа var, помним, что наше var=101)
1*r = 8. Прибавляем 8 к result. В result у нас 2+8=10.

var /= 10
деление числа на 10 без остатка, "отрезаем" последнюю цифру в числе. после этого действа var=10
------------------
след. итерация, r=16 (по условию цикла каждое следующее r в два раза больше предидущего)
вычисляем (var%10)*r; var%10 будет 0 (последняя цифра числа var, помним, что наше var=10)
1*r = 0. Прибавляем 0 к result. В result у нас 10.

var /= 10
деление числа на 10 без остатка, "отрезаем" последнюю цифру в числе. после этого действа var=1
------------------
след. итерация, r=32 (по условию цикла каждое следующее r в два раза больше предидущего)
вычисляем (var%10)*r; var%10 будет (последняя цифра числа var, помним, что наше var=1)
1*r = 32. Прибавляем 32 к result. В result у нас 10+32=42.

var /= 10
деление числа на 10 без остатка, "отрезаем" последнюю цифру в числе. после этого действа var=0
------------------
поскольку var=0 выходим из цикла (потому что не выполняется условие цикла var > 0)
печатаем result
 
Текущее время: 11:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru