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

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

Войти
Регистрация
Восстановить пароль
 
Монтгомери
3 / 3 / 0
Регистрация: 10.09.2013
Сообщений: 129
#1

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

11.06.2014, 00:06. Просмотров 1489. Ответов 3
Метки нет (Все метки)

На вычислительной практике дали такое задание:

С клавиатуры вводятся 2 положительных целых числа: число A (в системе счисления с основанием p) и число B (в системе счисления с основанием q). Необходимо вычислить и вывести на экран число C в системе счисления с основанием r:
p=5, q=6, r=3, C=A-B
При вводе чисел A и B должно автоматически проверяться, является ли их форма записи числа корректной в соответствии с выбранной системой счисления.

Как проверить корректность числа в заданной системе счисления? Это основной вопрос.
Хотя, если подскажете, как переводить оба числа, к примеру, в десятичную систему, буду ещё больше благодарен.

Заранее спасибо
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2014, 00:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверить корректность числа в заданной системе счисления и перевести в другую систему счисления (C++):

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

Перевод числа в другую систему счисления - C++
Напишите функцию, которая принимает длинное целое беззнаковое число, интерпретирует его как двоичное (т.е. число содержит только 0 и 1) и...

Перевод числа в p-ичной системе счисления в десятичную систему - C++
Задание: Дана символьная строка, представляющая собой запись натурального числа в p-ичной системе счисления (2 ≤ р ≤ 9). Составить...

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

Простейший алгоритм перевода числа из 10 системы счисления в 16 ричную систему счисления - C++
Помогите написать самый простой алгоритм перевода из 10 системы счисления в 16 ричную систему счисления! Мне нужен именно самый простенький...

Смена алгоритма при переводе числа в другую систему счисления - C++
Добрый день. Нужно перевести число из системы а1 в систему а2 (а1, а2<=16). Нашла программу, немножко переделала ее под свою задачу: ...

3
you_rule
56 / 56 / 21
Регистрация: 08.03.2014
Сообщений: 138
11.06.2014, 00:33 #2
Монтгомери, чтобы проверить корректность всего числа, необходимо проверить каждую цифру. Каждая цифра должна быть меньше основания системы счисления и больше -1. Исключением является система счисления с основанием 1, здесь все числа должны быть равны единице.

Переводите каждое число в десятичную сист. сч., а затем в нужную, например:
из двоичной в десятичную
1010=0* 2^0 + 1* 2^1 + 0* 2^2 + 1* 2^3=0+2+0+8=10
Тоесть начиная с младшего разряда (нулевой 0) находим сумму произведения цифры с разрядом I на основание системы счисления в степени I.
1
Монтгомери
3 / 3 / 0
Регистрация: 10.09.2013
Сообщений: 129
11.06.2014, 00:53  [ТС] #3
А как именно брать каждую цифру отдельно? Брать остатки от деления на 10, 100, 1000 и т.д., а потом уже сравнивать? Тогда это в цикле надо делать, но как определить, до каких пор продолжать это действие?

И ещё: как перевести результат из десятичной в, к примеру, троичную? (описал я в шапке только один из 15 вариантов).
0
you_rule
56 / 56 / 21
Регистрация: 08.03.2014
Сообщений: 138
11.06.2014, 01:06 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
вывод всех цифр.
C++
1
2
3
4
5
6
int chislo=2326462452;
while (chislo>0)
{
     cout<<chislo%10;
     chislo/=10;
}
вот пример перевода из десятичной в двоичную
C++
1
2
3
4
5
6
7
8
    int dec, bin=0, j;
 
    cin >> dec;
    for(j=0; dec>0; j++)
    {
        bin+=(dec%2)*pow(10.0,j);
        dec/=2;
    }
здесь dec - исходное число, bin - конечное двоичное, на форуме уже есть ответы на многие вопросы
1
11.06.2014, 01:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2014, 01:06
Привет! Вот еще темы с ответами:

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

Проверить правильность ввода числа в двоичной системе счисления - C++
Дано число в двоичной системе счисления. Проверить правильность ввода этого числа (в его записи должны быть только символы 0 и 1). Если...

Перевести в 10 систему счисления - C++
Помогите перевести в 10 систему если задавать числа с буквами (19A2) т.е 11-16 системы cout &lt;&lt; &quot;Введите систему счисления из которой...

Перевести из 10 в 32 систему счисления - C++
Как перевести с 10 в 32 систему счисления? Видел на одном сайте то там работает.


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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