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

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

Войти
Регистрация
Восстановить пароль
 
mriceMan
0 / 0 / 0
Регистрация: 30.11.2009
Сообщений: 18
#1

Перевод чисел из 5->10 c.c - C++

18.10.2011, 15:04. Просмотров 446. Ответов 6
Метки нет (Все метки)

Всем привет. Помогите пожалуйста разобраться с листингом программы, которая переводит числа из пятеричной системы счисления в десятичную. Программа рабочая, но мне не совсем понятен механизм работы, если можно то прокомментируйте пожалуйста каждую строчку. Особенно интересна 16 строка, почему num[i] - 48. Заранее спасибо )

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstring>
 
 
 
int main()
{
        char num[20];
        cout << "Введите число в пятеричной системе счисления: ";
        cin.getline(num, 20);
        long answer = 0;
        int len = strlen(num);
        long pow = 1;
        for (int i = len - 1; i >= 0; i--)
        {
                answer += pow * (num[i] - 48); 
                pow *= 5;
        }
        cout << "(" << num << ")5 = " << answer;
        cin.get();
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2011, 15:04     Перевод чисел из 5->10 c.c
Посмотрите здесь:

перевод чисел(с++) - C++
Здравствуйте!!! Наткнулся на интересну задачу, я ее решил, но ни как не пойму почему выходит не правильно!!! Суть задачи такая, вводим...

Перевод чисел - C++
for (int i = ResultBox-&gt;Text-&gt;Length- 1; i &gt;= 0; i--) { dig = System::Convert::ToInt32(ResultBox-&gt;Text); dig = dig - 48; if...

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

Перевод чисел из 10 сс в 8 сс на С++ - C++
Задание: дается число m в десятичной системе счисления, надо преобразовать в 8-ричную систему счисления и подсчитать количество четных...

Перевод чисел из любой сс в 10-ую - C++
Задача: Программа должна переводить любое число в любой системе счисления (от унарной до десятичной включительно), которую задаст...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mimicria
return (true);
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
18.10.2011, 15:06     Перевод чисел из 5->10 c.c #2
Цитата Сообщение от mriceMan Посмотреть сообщение
почему num[i] - 48.
Потому что вы загоняете цифры в массив char, в котором код цифры 0 - 48, 1-49 и т.д.
mriceMan
0 / 0 / 0
Регистрация: 30.11.2009
Сообщений: 18
18.10.2011, 15:22  [ТС]     Перевод чисел из 5->10 c.c #3
А как работают остальные строки?
mimicria
return (true);
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
18.10.2011, 15:35     Перевод чисел из 5->10 c.c #4
Цитата Сообщение от mriceMan Посмотреть сообщение
А как работают остальные строки?
Примерно так: считали число, померяли размер, по всем циферкам пробежались и умножили на pow, сложили с результатом, изменили pow, в конце вывели результат.
mriceMan
0 / 0 / 0
Регистрация: 30.11.2009
Сообщений: 18
18.10.2011, 16:33  [ТС]     Перевод чисел из 5->10 c.c #5
Спасибо это все понятно, но я никак ни пойму почему в 16 строке именно -48 ?
mimicria
return (true);
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
18.10.2011, 16:38     Перевод чисел из 5->10 c.c #6
Цитата Сообщение от mriceMan Посмотреть сообщение
почему в 16 строке именно -48 ?
Еще раз говорю: код нуля - 48. Чтобы из кода получить число вычитаем 48. Почему из кода? Потому что получаем ввод мы в массив char[], который хранит символы. А код символа ноль - 48. goto start
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2011, 16:48     Перевод чисел из 5->10 c.c
Еще ссылки по теме:

перевод действительных чисел - C++
Написать программу перевода действительных чисел из десятичной системы счисления в двоичную. Считаем что целая часть числа не превосходит...

Перевод чисел из различных сс - C++
Необходимо написать программу для перевода чисел с основанием 2,8,16 в десятичное. Спасибо большое за помощь Вот то, что получилось у...

Перевод чисел из 10-й в 2-ю систему счисления - C++
Всем привет. Нужна помощь в доработке след.программы: Программа переводит числа из 10-й в 2-ю систему счисления. При вводе...

Перевод чисел из 10 в 15 систему счисления - C++
Доброго времени суток. Нужно написать программу для перевода введенных с клавиатуры чисел из 10 системы 15 систему счисления, без...


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

Или воспользуйтесь поиском по форуму:
mriceMan
0 / 0 / 0
Регистрация: 30.11.2009
Сообщений: 18
18.10.2011, 16:48  [ТС]     Перевод чисел из 5->10 c.c #7
Спасибо, теперь все понятно
Yandex
Объявления
18.10.2011, 16:48     Перевод чисел из 5->10 c.c
Ответ Создать тему
Опции темы

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