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

Перевод из двоичной системы в десятичную, задача 2.30 "Как программировать на С++" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить с точностью e=0.0001 http://www.cyberforum.ru/cpp-beginners/thread1016385.html
Помогите разобраться с первой суммой и факториалом...
C++ flex,bison Написал лексический и синтаксический анализатор для языка подобного паскалю( мини паскаль). Нужно с использованием атрибутной грамматики( грамматики свойств) сделать семантический анализ. (например, повторное объявление переменной) сделал таблички для грамматики свойств, а как теперь реализовать все это? помогите пожалуйста. вот правила, которые будут непосредственное использоваться при... http://www.cyberforum.ru/cpp-beginners/thread1016368.html
C++ Найти произведение двух матриц
Найти произведение двух матриц (многомерных векторов) 5x6 и 6x5 элементов. #include "stdafx.h" #include <iostream> using namespace std; void main() {int V, i,j,s; for(int i=0; i<=4; i++){
C++ Старшая и младшая часть длинного числа
Есть класс с 2-мя полями целого типа, в которых хранятся старшая и младшая части. Как их выделить? Что представляют из себя эти части? Желательно с примером реализации.
C++ Неработающий cout http://www.cyberforum.ru/cpp-beginners/thread1016336.html
Не выводит значения mass1 и mass2, помогите разобраться #include <iostream> using namespace std; int main() { int b=30,mass1=0,mass2=0; for(int a=0;a<b;a++)
C++ Не могу разобраться с указателями! Читаю Шилдт C++, не как не могу понять систему с указателями, вроде вот вот все понял что это просто типа ярлыков для переменных и не более того и занимают они по 1 байту в памяти, как в друг он пишет: С указателями можно использовать только четыре арифметических оператора: ++, --, + и -. Чтобы лучше понять, что происходит при выполнении арифметических действий с указателями, начнем с примера.... подробнее

Показать сообщение отдельно
IYIurasaki
3 / 3 / 0
Регистрация: 05.11.2013
Сообщений: 12

Перевод из двоичной системы в десятичную, задача 2.30 "Как программировать на С++" - C++

23.11.2013, 20:34. Просмотров 993. Ответов 6
Метки (Все метки)

Здравствуйте! Не могу решить задачу из книги.

Задача

Введите целые данные, содержащие только нули и единицы (т.е. «двоичные» целые), и напечатайте их десятичный эквивалент. (Подсказка. Используйте операции деление и вычисления остатка, чтобы «отрывать» разряды «двоичного» числа по одному справа налево. В десятичной системе самая правая цифра имеет позиционное значение 1, следующая цифра слева имеет позиционное значение 10, затем 100, затем 1000 и т.д.; в двоичной системе чисел самая правая цифра имеет позиционное значение 1, следующая цифра слева имеет позиционное значение 2, затем 4, затем 8 и т.д. Таким образом, десятичное число 234 может быть представлено как 4*1 + 3*10 + 2*100. Десятичным эквивалентом двоичного 1101 является 1*1 + 0*2 + 1*4 + 1*8 или 1 + 0 + 4 + 8 или 13.)


Я так понимаю, сначала нужно посчитать количество цифр в числе:

C++
1
2
3
4
5
6
7
8
cin >> chislo;
k = 0;
while (chislo >= 1)
{
     chislo /=  10;
     k++;
};
cout<<k;
Далее отделить каждую цифру и куда-то записать (куда?) Неужели для каждой цифры нужна отдельная переменная?

Я нашла еще одну формулу перевода из двоичной системы в десятичную: 1001110102=(1*2)^8+(0*2)^7+(0*2)^6+(1*2)^5+(1*2)^4+(1*2)^3+(0*2)^2+(1*2)^1+(0*2)^0=31410

Значит, степень первой цифры равна n-1, второй n-2, последней n-n.

Как все это реализовать? Я ума не приложу. Помогите пожалуйста!

Добавлено через 4 часа 8 минут
Люди, помогите кто-нибудь
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru