- Сообщения
- 4,020
- Репутация
- 626
Построить две функции для конвертации чисел в другую систему счисления и обратно следующего вида
Например, число 18118 имеет следующие представления в различных системах счисления (с учетом формата в условии задачи)
Поэтому DecToN(18118, 6), к примеру, должно давать '6n215514', а NToDec('4n10123012') должно давать 18118.
Использование каких-либо сторонних библиотек запрещено. Код заключайте в тэг спойлера.
PS: Задача ориентировочно расчитана на осваивающих и продвинутых, но при желании и возможности новички так же могут присоединиться к решению
Код:
; Название функции...........: DecToN($decnum, $base)
; Описание функции ..........: Конвертация числа в заданную систему счисления
; Входные параметры..........: $decnum - десятичное целое число
; ...........................: $base - основание системы счисления (не больше 10)
; Выходные параметры.........: Строка вида 'xxnyyyyy', где
; ...........................: xx - основание системы счисления (тоже что и $base)
; ...........................: n - символ разделяющий основание системы счисления и представление числа
; ...........................: yyyy - представление числа в системе счисления с основанием $base
; Название функции...........: NToDec($nnum)
; Описание функции ..........: Конвертация числа в десятичную систему счисления
; Входные параметры..........: $nnum - число-строка в заданной системе счисления вида 'xxnyyyy'
; Выходные параметры.........: Число в десятичном представлении
Например, число 18118 имеет следующие представления в различных системах счисления (с учетом формата в условии задачи)
Код:
+-----------+-----------------------+
| Основание | Число |
+-----------+-----------------------+
| 2 | '2n100011011000110' |
| 3 | '3n220212001' |
| 4 | '4n10123012' |
| 5 | '5n1034433' |
| 6 | '6n215514' |
| 7 | '7n103552' |
| 8 | '8n43306' |
| 9 | '9n26761' |
+-----------+-----------------------+
Использование каких-либо сторонних библиотек запрещено. Код заключайте в тэг спойлера.
PS: Задача ориентировочно расчитана на осваивающих и продвинутых, но при желании и возможности новички так же могут присоединиться к решению