Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/55: Рейтинг темы: голосов - 55, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 09.07.2016
Сообщений: 3

Перевести числа в другую систему счисления рекусивной функцией

10.07.2016, 10:54. Показов 10246. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1) Написать рекурсивную процедуру для перевода числа из двоичной системы счисления в десятичную.

2) Написать рекурсивную процедуру для перевода числа из шестнадцатеричной системы счисления в десятичную.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.07.2016, 10:54
Ответы с готовыми решениями:

Проверить корректность числа в заданной системе счисления и перевести в другую систему счисления
На вычислительной практике дали такое задание: С клавиатуры вводятся 2 положительных целых числа: число A (в системе счисления с...

Как перевести дробную часть числа в другую систему счисления?
Можете подсказать как переводить дробную часть в любую СС(систему счисление). using System; namespace ConsoleApp2 { class...

Перевести число в другую систему счисления
система счисления – ВОСЬМЕРИЧНАЯ 1) Переведите число 71 из десятичной в ВОСЬМЕРИЧНУЮ 2) Переведите число 782 из десятичной в...

4
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
15.07.2016, 08:36
Например так?
Python
1
2
3
4
5
6
7
8
9
10
11
def todec(number):
    if isinstance(number, int):
        number = str(number)
    if not all(x in '01' for x in number):
        return "Wrong input"
    line = number.lstrip('0')
    if len(line) <= 1:
        return int(number)
    else:
        line = line[1:]
        return 2 ** len(line) + todec(line)
Ну с 16 попробуйте сами.
2
0 / 0 / 0
Регистрация: 09.07.2016
Сообщений: 3
15.07.2016, 13:42  [ТС]
Спасибо, но не работает для двоичных чисел оканчивающихся на ноль.
И само решение должно быть, как мне кажется легче и проще.
В качестве примера перевод из десятичной системы в двоичную выглядит так:
Python
1
2
3
4
def printBin(n):
    if n == 0: return
    printBin (n//2)
    print (n % 2, end = "")
0
757 / 306 / 190
Регистрация: 20.05.2016
Сообщений: 593
15.07.2016, 17:36
Лучший ответ Сообщение было отмечено Kristobal как решение

Решение

Kristobal, совсем без проверок здесь никак... В 7 строке опечатка: if len(line) <= 1:

Добавлено через 12 минут
Умял как мог (Marinero, простите)
Python
1
2
3
4
5
def todec(n):
   n = str(n)
   if not n: return 0
   if n[0] not in '01': raise ValueError
   return (2 ** (len(n)-1)) * (n[0] == '1') + todec(n[1:])
или чуть-чуть иначе
Python
1
2
3
4
5
def horner(n):
    n = str(n)
    if not n: return 0
    if n[-1] not in '01': raise ValueError
    return horner(n[:-1]) * 2 + (n[-1]=='1')
1
0 / 0 / 0
Регистрация: 09.07.2016
Сообщений: 3
15.07.2016, 21:20  [ТС]
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.07.2016, 21:20
Помогаю со студенческими работами здесь

Перевести число в другую систему счисления.
Перевести число а из восьмеричной в шестнадцатиричную систему счисления. a=706,21

Перевод дробной части числа из десятичной системы счисления в любую другую систему счисления
Здравствуйте как перевести дробной части числа из десятичной системы счисления в любую другую систему счисления. При переводе целых...

Перевести код с Pascal на C#. Перевод в другую систему счисления
Напишите программу перевода десятичного числа в систему счисления с другим основанием Помогите перевести код с Pascal на C# uses...

Перевести целую и дробную часть числа из 10-й системы счисления в 15-ю систему счисления?
Как в С++ перевести целую и дробную часть числа 10-й системы счисления в 15-ю систему счисления?

Перевести целие числа из деятичной системы счисления в систему счисления с любым другим основанием
Помогите. Сделал чтоб переводило из 10 в 1,2,3,4,5,6,7,8,9 .Вся проблема в том что я незнаю как поменять цифри например 11 на B ,12 на C...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru