пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

29. Алгоритмы перевода чисел в различные системы счисления.

1) Переводы между СС с основаниями x^n, где x — константа, удобно выполнять в 2 шага: переводя сначала в СС с основанием x^1, потом в целевую. Последовательно разбиваем цифры числа на группы по n знаков, где n — это степень x для СС с большим основанием. Разбиение и перевод начинаем с конца числа. Далее используя калькулятор/таблицы и не нарушая порядка чисел и цифр в них, последовательно переводим получившиеся элементы массива в целевую (в этой паре СС) СС. Результат записываем в строку, сохраняя последовательность чисел и цифр в них.

2) От любой позиционной СС можно перейти к 10-й СС используя схему Горнера. Пример для числа MNOP в СС с основанием n: MNOPn = (((M*n)+N*n)+O*n)+P = %чего-то_там%10, что эквивалентно MNOPn = M*(n^(m-1))+N*(n^(m-2))+...+P*(n^0) = %чего-то_там%10, где m — кол-во цифр в исходном числе для исходной СС (так число 103070256 состоит из 2-х цифр)

3) От 10-й СС можно перейти к любой другой позиционной СС используя следующий метод: итерационно делим число в 10-й СС на основание целевой СС пока 10-е число не обратится в 0. При этом остатки от деления записываем в обратном порядке (дописывая к результату слева и сохраняя порядок цифр в них) и работать продолжаем с целым частным. Итоговый/ая массив/строка чисел и будет исходным числом, отображенным в целевой СС.

4) Поскольку факториальная СС условно позиционная, перевод из 10-й СС в факториальную можно считать частным случаем п.3 с той лишь разницей, что в качестве делителей мы будем последовательно использовать числа следующего ряда: 2, 3, 4, 5, 6, 7… Т.е. 23910 = 1 4 3 2 1(остатки деления) = 14321!..

5) Ряд Фибоначчи — это числовой ряд, где каждый следующий элемент равен сумме двух предыдущих. Любое натуральное число можно представить в виде суммы нескольких членов последовательности Фибоначчи. Такое представление будет неоднозначным, но если наложить дополнительное условие, что в представлении нет двух соседних членов последовательности Фибоначчи, то представление становится единственным. Таким образом к фибоначчиевой СС от 10-й проще всего перейти последовательно вычитая из 10-го числа числа ряда Фибоначчи, начиная с заведомо большего чем 10-е число и записывая логическую характеристику результата этой операции в итоговый ряд. Если при вычитании из 10-го числа числа ряда Фибоначчи получается отрицательное значения — записываем «0» и продолжаем работать с этим же 10-м числом. Если положительное — записываем «1» и далее уже работаем с полученной разностью. Все нули до первой единицы слева можно отбросить. Пример: для числа 23910 и ряда 377 233 144 89 55 34 21 13 8 5 3 2 1 получим 100000001001ф.

Примечания:

— Все вышеизложенные операции справедливы для множества натуральных чисел.
— В пунктах 2, 3, 4 и 5 расчеты выполняются по правилам десятичной арифметики.


30.12.2014; 23:48
хиты: 121
рейтинг:0
Точные науки
информатика
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь