Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Решето Эратосфена http://www.cyberforum.ru/cpp-beginners/thread1191035.html
Как можно реализовать? Подскажите плиз
C++ Перегрузка стандартных операций Дан класс (например, с именем Vector), задающий вектор размерности n. Поля класса: указатель на массив, задающий вектор (тип элемента int или double в зависимости от варианта), массив должен... http://www.cyberforum.ru/cpp-beginners/thread1191023.html
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++
Возник вопрос, отчасти я сам решил(получил нужный результат), но очень коряво. Мне нужно достать нужный объект из контейнера на абстрактный класс в методах классов наследниках. Если вкратце, то у...
C++ Не инициализированные указатели http://www.cyberforum.ru/cpp-beginners/thread1191007.html
Добрый день, пишу небольшую игру на движке, появилась проблема main.cpp #include “mainClass.h” int main() { bool endless = true; mainClass mainObject; mainObject.initialize();
C++ Слушание udp порта Создаем сервер udp, слушаем порт, как можно сделать так чтобы пока я обрабатываю 1 полученный пакет, все остальные в очереди стоят, чтобы не посеять их? подробнее

Показать сообщение отдельно
kasan
Чорумфанин
337 / 337 / 185
Регистрация: 06.03.2014
Сообщений: 881
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
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.