Унарная система счисления
- 1 year ago
- 0
- 0
Фибоначчиева система счисления — смешанная система счисления для целых чисел на основе чисел Фибоначчи F 2 =1, F 3 =2, F 4 =3, F 5 =5, F 6 =8 и т. д.
Число |
Запись
в ФСС |
|
---|---|---|
0 | 0 …… 0 | |
F 2 =1 | 1 | 1 1 |
F 3 =2 | 10 | 01 1 |
F 4 =3 | 100 | 001 1 |
4 | 101 | 101 1 |
F 5 =5 | 1000 | 0001 1 |
6 | 1001 | 1001 1 |
7 | 1010 | 0101 1 |
F 6 =8 | 10000 | 00001 1 |
… | ||
F n − 1 | 101010 … | … 010101 1 |
F n | 10 …… 00 | 00 …… 01 1 |
F n + 1 | 10 …… 01 | 10 …… 01 1 |
Любое неотрицательное целое число можно единственным образом представить последовательностью битов …ε k …ε 4 ε 3 ε 2 ( ) так, что , причём последовательность {ε k } содержит лишь конечное число единиц, и не имеет пар соседних единиц: . За исключением последнего свойства, данное представление аналогично двоичной системе счисления .
В основе лежит теорема Цекендорфа — любое неотрицательное целое число единственным образом представимо в виде суммы некоторого набора попарно различных чисел Фибоначчи с индексами, большими единицы, не содержащего пар соседних чисел Фибоначчи.
Доказательство существования легко провести по индукции . Любое целое число попадёт в промежуток между двумя соседними числами Фибоначчи, то есть для некоторого верно неравенство: . Таким образом, , где , так что разложение числа уже не будет содержать слагаемого .
Предполагают, что некоторые разновидности юпаны ( абака инков ) использовали фибоначчиеву систему счисления, чтобы минимизировать необходимое для вычислений число зёрен .
На основе фибоначчиевой системы счисления строится код (кодирование) Фибоначчи — универсальный код для натуральных чисел (1, 2, 3…), использующий последовательности битов . Поскольку комбинация 11 запрещена в фибоначчиевой системе счисления, её можно использовать как маркер конца записи.
Для составления кода Фибоначчи по записи числа в фибоначчиевой системе счисления следует переписать цифры в обратном порядке (так, что старшая единица оказывается последним символом) и приписать в конце ещё раз 1 (см. таблицу). То есть, кодовая последовательность имеет вид:
где n — номер самого старшего разряда с единицей.
Сложение чисел в позиционных системах счисления выполняется с использованием переноса , позволяющего устранять последствия переполнения разряда. Например, в двоичной системе: 01 + 01 = 0 2 = 10 .
В фибоначчиевой системе счисления дело обстоит сложнее:
Число |
Представление
через степени |
---|---|
1 | 1 |
2 | 10,01 |
3 | 100,01 |
4 | 101,01 |
5 | 1000,1001 |
6 | 1010,0001 |
7 | 10000,0001 |
8 | 10001,0001 |
9 | 10010,0101 |
10 | 10100,0101 |
11 | 10101,0101 |
12 | 100000,101001 |
13 | 100010,001001 |
14 | 100100,001001 |
Похожее устройство имеет позиционная система счисления с иррациональным основанием, равным золотому сечению .
Любое вещественное число x из отрезка [0,1] допускает разложение в ряд через отрицательные степени золотого сечения:
где обладает тем же свойством отсутствия соседних единиц. Коэффициенты находятся последовательным сравнением x с — золотым сечением отрезка [0,1], вычитанием (если ) и умножением на . Из этого нетрудно видеть, что любое неотрицательное вещественное число допускает разложение:
где N таково, что . Разумеется, следует считать, что для всех .
Эти формулы полностью аналогичны формулам для обычных позиционных систем с целыми основаниями. Оказывается, что любое неотрицательное целое число (и, более общо, всякий неотрицательный элемент кольца ) имеет представление лишь с конечным количеством единиц, то есть в виде конечной суммы неповторяющихся степеней золотого сечения.
Аналогия между числами Фибоначчи и степенями золотого сечения основана на одинаковой форме тождеств:
позволяющих устранение соседних единиц. Прямой связи между представлением натуральных чисел в системе золотого сечения и в фибоначчиевой не имеется.
Правила сложения аналогичны показанным с той поправкой, что перенос в сторону младших разрядов распространяется без ограничения. В данной системе счисления можно производить и умножение.
Для целых чисел и можно определить «умножение»
которое аналогично умножению чисел в двоичной системе счисления .
Разумеется, данная операция не является настоящим умножением чисел, и выражается формулой:
где — целая часть , — золотое сечение .
Эта операция обладает ассоциативностью , на что впервые обратил внимание Дональд Кнут . Другое «произведение» отличающееся лишь сдвигом на два разряда, уже не является ассоциативным.
|
Этот раздел
не завершён
.
|