0 / 0 / 0
Регистрация: 02.05.2016
Сообщений: 1
|
||||||||||||||||
1 | ||||||||||||||||
Перевод из любой системы счисления в любую другую систему счисления (2-36)30.09.2018, 21:56. Показов 38642. Ответов 3
Метки нет (Все метки)
Привет. 1 курс факультета ИВТ, изучаю С++ только один месяц. Из основного прошли строки, массивы, начали разбирать функции. Преподаватель информатики (др. предмет), увидев во мне способности (как назло сдал 3 лабы по экселю, ворду и легкой програмке), задал достаточно сложную в моём понимании задачу: написать программу на языке С++ для перевода чисел из любой системы счисления в другую. Особо никаких рамок нет, в интернете много способов решения этой задачи, но есть одно НО: я не хочу нести код, который я не смогу объяснить. В гугле я подсмотрел возможный алгоритм решения: перевести число в любую систему счисления, а из неё в любую нужную.
Собственно есть два куска кода: 1) Перевод из любой СС в десятичную:
0
|
30.09.2018, 21:56 | |
Ответы с готовыми решениями:
3
Перевод из 10-ой в любую другую систему счисления. Перевод из любой системы счисления в любую (от 2 и более. т.е. может перевести из 2й к примеру в 80ю) Перевод натурального числа из десятичной системы счисления в систему счисления по основанию Рекурсия: перевод целого числа из десятичной системы счисления в 9 систему счисления |
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
30.09.2018, 22:48 | 2 |
Matthew1, может быть вам стоит понять такую простую вещь. В компьютере числа представлены в одной системе - двоичной (что впрочем, неважно. Есть экзотические компьютеры, использующие для внутреннего представления троичную с/с и даже еще более интересные). Что нас совершенно не должно интересовать. Нам нужно только знать, что при арифметических действиях результатом являются те же числа, правильно подсчитанные и представленные у компа внутри.
А системы счисления - это область символов (символьных строк). Можно хоть в римскую систему переводить. (те же символы). Посему процесс перевода из одной с/с в другую состоит из двух этапов. 1. Перевод символьного представления из с/с-1 в машинное. 2. Перевод машинного представления в символьное с/с-2 Языки программирования часто для работы с 10 с/с делают эти переводы незаметными, естественными для программиста. И даже не ощущаются, как некие действия. Хотя они есть. Просто уже придуманы за вас разработчиками библиотек. Ну и напоследок - бонус. В некоторых реализациях есть функция itoa(int value, char *s, int radix) Она прекрасно выполняет шаг 2. Думаю, код ее не сложно найти на просторах интернета. Да и самому написать, как говаривал пан Коровьев, - не бином Ньютона. Главное тут понять, с какими сущностями приходится иметь дело. Удачи вам!
0
|
30 / 21 / 8
Регистрация: 23.09.2018
Сообщений: 186
|
||||||
01.10.2018, 00:40 | 3 | |||||
Вот так можно:
0
|
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
|||||||||||
01.10.2018, 09:30 | 4 | ||||||||||
Сообщение было отмечено Matthew1 как решение
Решение
2
|
01.10.2018, 09:30 | |
01.10.2018, 09:30 | |
Помогаю со студенческими работами здесь
4
Перевод числа из 8-ичной системы счисления в 16-ричную систему счисления и обратно. Перевод числа из восьмеричной системы счисления в шестнадцатеричную систему счисления Перевод строки из 2-ной системы счисления в 8-ную систему счисления Перевод чисел из двоичной системы счисления в систему счисления кратной степеням двойки и обратно Перевод чисел из 16 системы счисления в 2 систему счисления Перевод дробной части числа из десятичной системы счисления в любую другую систему счисления Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |