Фибоначчиева система счисления: различия между версиями

Материал из in.wiki
Перейти к навигации Перейти к поиску
w>CommonsDelinker
("Yupana_1.GIF" → "Yupana_1.png". Причина: Replacing GIF by exact PNG duplicate. (CommonsDelinker).)
м (118 версий импортировано: Импорт из Википедии)
 
(не показана 41 промежуточная версия 24 участников)
Строка 1: Строка 1:
 +
{{Системы счисления}}
 
'''[[Фибоначчи]]ева система счисления''' — [[смешанная система счисления]] для [[целое число|целых чисел]] на основе [[числа Фибоначчи|чисел Фибоначчи]] F<sub>2</sub>=1, F<sub>3</sub>=2, F<sub>4</sub>=3, F<sub>5</sub>=5, F<sub>6</sub>=8 и т. д.
 
'''[[Фибоначчи]]ева система счисления''' — [[смешанная система счисления]] для [[целое число|целых чисел]] на основе [[числа Фибоначчи|чисел Фибоначчи]] F<sub>2</sub>=1, F<sub>3</sub>=2, F<sub>4</sub>=3, F<sub>5</sub>=5, F<sub>6</sub>=8 и т. д.
 
{| align=right class=standard style="margin-left: 20px"
 
{| align=right class=standard style="margin-left: 20px"
  | colspan=3 |[[Файл:Zeckendorf representations.png|320px]]
+
  | colspan=3 |[[Файл:Zeckendorf representations.svg|320x320пкс]]
 
  |-
 
  |-
 
  !Число
 
  !Число
  !Запись<br />в {{comment|ФСС|Фибоначчиева система счисления}}
+
  !Запись<br>в {{comment|ФСС|Фибоначчиева система счисления}}
  ![[#В теории информации|Код<br />Фибоначчи]]
+
  ![[#В теории информации|Код<br>Фибоначчи]]
 
  |-
 
  |-
 
  | align=right |0
 
  | align=right |0
Строка 59: Строка 60:
  
 
== Представление натуральных чисел ==
 
== Представление натуральных чисел ==
Любое неотрицательное целое число <math>a</math> можно единственным образом представить последовательностью [[бит]]ов …ε<sub>k</sub>…ε<sub>4</sub>ε<sub>3</sub>ε<sub>2</sub> (<math>\varepsilon_k \in \{ 0,1\}</math>) так, что <math>a = \sum_k \varepsilon_k F_k</math>, причём последовательность {ε<sub>k</sub>} содержит лишь конечное число единиц, и не имеет пар соседних единиц: <math>\forall k\ge 2: (\varepsilon_k=1) \Rightarrow (\varepsilon_{k+1}=0)</math>.
+
Любое неотрицательное целое число <math>a</math> можно единственным образом представить последовательностью [[бит]]ов …ε<sub>k</sub>…ε<sub>4</sub>ε<sub>3</sub>ε<sub>2</sub> (<math>\varepsilon_k \in \{ 0,1\}</math>) так, что <math>a = \sum_k \varepsilon_k F_k</math>, причём последовательность {ε<sub>k</sub>} содержит лишь конечное число единиц, и не имеет пар соседних единиц: <math>\forall k\ge 2\colon (\varepsilon_k=1) \Rightarrow (\varepsilon_{k+1}=0)</math>.
 
За исключением последнего свойства, данное представление аналогично [[двоичная система счисления|двоичной системе счисления]].
 
За исключением последнего свойства, данное представление аналогично [[двоичная система счисления|двоичной системе счисления]].
  
 
=== Обоснование ===
 
=== Обоснование ===
В основе лежит ''теорема [[Цекендорф, Эдуард|Цекендорфа]]''<ref>[http://www.goldenmuseum.com/1601Mathematics_rus.html Эдуард Цекендорф]</ref> — любое неотрицательное целое число единственным образом представимо в виде суммы некоторого набора чисел Фибоначчи с индексами больше единицы, не содержащего пар соседних чисел Фибоначчи.
+
В основе лежит ''[[теорема Цекендорфа]]''<ref>{{Cite web |url=http://www.goldenmuseum.com/1601Mathematics_rus.html |title=Эдуард Цекендорф |access-date=2010-01-27 |archive-url=https://web.archive.org/web/20170506095256/http://www.goldenmuseum.com/1601Mathematics_rus.html |archive-date=2017-05-06 |url-status=dead }}</ref> — любое неотрицательное целое число единственным образом представимо в виде суммы некоторого набора попарно различных чисел Фибоначчи с индексами, большими единицы, не содержащего пар соседних чисел Фибоначчи.
  
 
Доказательство существования легко провести [[математическая индукция|по индукции]]. Любое целое число <math>a\ge 1</math> попадёт в промежуток между двумя соседними числами Фибоначчи, то есть для некоторого <math>n\ge 2</math> верно неравенство: <math>F_n \le a <  F_{n+1}</math>. Таким образом, <math>a = F_n + a'</math>, где <math>a'=a-F_n\ <\ F_{n-1}</math>, так что разложение числа <math>a'</math> уже не будет содержать слагаемого <math>F_{n-1}</math>.
 
Доказательство существования легко провести [[математическая индукция|по индукции]]. Любое целое число <math>a\ge 1</math> попадёт в промежуток между двумя соседними числами Фибоначчи, то есть для некоторого <math>n\ge 2</math> верно неравенство: <math>F_n \le a <  F_{n+1}</math>. Таким образом, <math>a = F_n + a'</math>, где <math>a'=a-F_n\ <\ F_{n-1}</math>, так что разложение числа <math>a'</math> уже не будет содержать слагаемого <math>F_{n-1}</math>.
Строка 70: Строка 71:
  
 
==== Юпана ====
 
==== Юпана ====
[[Файл:Yupana 1.png|thumb|Юпана]]
+
[[Файл:Yupana 1.png|thumb|[[Юпана]]]]
Предполагают, что некоторые разновидности [[Юпана|юпаны]] ([[абак]]а [[инки|инков]]) использовали фибоначчиеву систему счисления, чтобы минимизировать необходимое для вычислений число зёрен<ref>{{cite web|author=Antonio Aimi, Nicolino De Pasquale|url=http://web.archive.org/web/*/http://www.quipus.it/english/Andean%20Calculators.pdf|title=Andean Calculators|accessdate=2009-12-12}}</ref>.
+
Предполагают, что некоторые разновидности [[Юпана|юпаны]] ([[абак]]а [[инки|инков]]) использовали фибоначчиеву систему счисления, чтобы минимизировать необходимое для вычислений число зёрен<ref>{{cite web|author=Antonio Aimi, Nicolino De Pasquale|url=https://web.archive.org/web/*/http://www.quipus.it/english/Andean%20Calculators.pdf|title=Andean Calculators|access-date=2009-12-12}}</ref>.
  
 
==== В теории информации ====
 
==== В теории информации ====
Строка 86: Строка 87:
 
* Во-первых, вес старших разрядов не является кратным весу разряда, из которого требуется перенос. При сложении двух единиц в одном разряде требуется перенос не только влево, но и вправо: <span style="background-color: rgb(102,255,51)">0<font color=red>2</font>00</span> = <span style="background-color: rgb(102,255,51)">1001</span>. При переносе в отсутствующие разряды ε<sub>1</sub> и ε<sub>0</sub> следует помнить, что F<sub>1</sub>=1=F<sub>2</sub> и F<sub>0</sub>=0.
 
* Во-первых, вес старших разрядов не является кратным весу разряда, из которого требуется перенос. При сложении двух единиц в одном разряде требуется перенос не только влево, но и вправо: <span style="background-color: rgb(102,255,51)">0<font color=red>2</font>00</span> = <span style="background-color: rgb(102,255,51)">1001</span>. При переносе в отсутствующие разряды ε<sub>1</sub> и ε<sub>0</sub> следует помнить, что F<sub>1</sub>=1=F<sub>2</sub> и F<sub>0</sub>=0.
 
* Во-вторых, требуется избавляться от соседних единиц: <span style="background-color: rgb(102,255,51)">0<font color=red>11</font></span> = <span style="background-color: rgb(102,255,51)">100</span>. Правило для раскрытия двоек является следствием этого равенства: <span style="background-color: rgb(102,255,51)">0<font color=red>2</font>00</span> = <span style="background-color: rgb(102,255,51)">0100</span> + <span style="background-color: rgb(102,255,51)">00<font color=red>11</font></span> = <span style="background-color: rgb(102,255,51)">0<font color=red>11</font>1</span> = <span style="background-color: rgb(102,255,51)">1001</span>.
 
* Во-вторых, требуется избавляться от соседних единиц: <span style="background-color: rgb(102,255,51)">0<font color=red>11</font></span> = <span style="background-color: rgb(102,255,51)">100</span>. Правило для раскрытия двоек является следствием этого равенства: <span style="background-color: rgb(102,255,51)">0<font color=red>2</font>00</span> = <span style="background-color: rgb(102,255,51)">0100</span> + <span style="background-color: rgb(102,255,51)">00<font color=red>11</font></span> = <span style="background-color: rgb(102,255,51)">0<font color=red>11</font>1</span> = <span style="background-color: rgb(102,255,51)">1001</span>.
{{заготовка раздела}}
+
{{дополнить раздел|дата=2014-03-27}}
  
 
== Обобщение на вещественные числа ==
 
== Обобщение на вещественные числа ==
 
 
{| align=right class=standard style="margin-right: 20px"
 
{| align=right class=standard style="margin-right: 20px"
 
|-
 
|-
 
! Число
 
! Число
! Представление<br />через степени{{nbsp|1}}<math>\varphi</math>
+
! Представление<br>через степени{{nbsp|1}}<math>\varphi</math>
 
|-
 
|-
 
| 1
 
| 1
Строка 146: Строка 146:
 
Из этого нетрудно видеть, что любое неотрицательное вещественное число допускает разложение:
 
Из этого нетрудно видеть, что любое неотрицательное вещественное число допускает разложение:
 
: <math>a = \sum_{k=N-1}^{-\infty} \varepsilon_k \varphi^k\,,</math>
 
: <math>a = \sum_{k=N-1}^{-\infty} \varepsilon_k \varphi^k\,,</math>
где ''N'' таково, что <math>a < \varphi^N</math>.
+
где {{math|<var>N</var>}} таково, что <math>a < \varphi^N</math>.
Разумеется, следует считать, что <math>\varepsilon_k = 0</math> для всех <math>k \ge N</math>.
+
При этом <math>\varepsilon_k = 0</math> для всех <math>k \geqslant N</math>.
  
 
Эти формулы полностью аналогичны формулам для обычных позиционных систем с целыми основаниями.
 
Эти формулы полностью аналогичны формулам для обычных позиционных систем с целыми основаниями.
Строка 163: Строка 163:
  
 
== Фибоначчиево умножение ==
 
== Фибоначчиево умножение ==
Для целых чисел <math>a = \sum_k \varepsilon_k F_k\ </math> и <math>b = \sum_l \zeta_l F_l\ </math> можно определить «умножение»<ref>{{OEIS|A101330}}{{ref-en}}, {{iw|Теорема Цекендорфа|||Zeckendorf’s theorem}}</ref>
+
Для целых чисел <math>a = \sum_k \varepsilon_k F_k\ </math> и <math>b = \sum_l \zeta_l F_l\ </math> можно определить «умножение»<ref>{{OEIS|A101330}}{{ref-en}}, [[Теорема Цекендорфа]]</ref>
 
: <math>a \circ b = \sum_{k,l} \varepsilon_k \zeta_l F_{k+l},</math>
 
: <math>a \circ b = \sum_{k,l} \varepsilon_k \zeta_l F_{k+l},</math>
 
которое аналогично умножению чисел в [[двоичная система счисления|двоичной системе счисления]].
 
которое аналогично умножению чисел в [[двоичная система счисления|двоичной системе счисления]].
  
Разумеется, данная операция не является настоящим умножением чисел, и выражается формулой:<ref>[http://www.research.att.com/~njas/sequences/a101330.txt Notes on the Fibonacci circle and arroba products]{{ref-en}}</ref>
+
Эта операция не является настоящим умножением чисел, и выражается формулой:<ref>[http://www.research.att.com/~njas/sequences/a101330.txt Notes on the Fibonacci circle and arroba products]{{ref-en}}</ref>
 
: <math>a\circ b =  3 a b  -  a \lfloor(b+1)\varphi^{-2}\rfloor -  b \lfloor(a+1)\varphi^{-2}\rfloor,</math>
 
: <math>a\circ b =  3 a b  -  a \lfloor(b+1)\varphi^{-2}\rfloor -  b \lfloor(a+1)\varphi^{-2}\rfloor,</math>
 
где <math>\lfloor\cdot\rfloor</math> — [[целая часть]], <math>\varphi=\frac{1+\sqrt{5}}{2}</math> — [[золотое сечение]].
 
где <math>\lfloor\cdot\rfloor</math> — [[целая часть]], <math>\varphi=\frac{1+\sqrt{5}}{2}</math> — [[золотое сечение]].
  
Эта операция обладает [[Ассоциативная операция|ассоциативностью]], на что впервые обратил внимание [[Кнут, Дональд Эрвин|Дональд Кнут]]<ref>{{cite journal |author=D. E. Knuth |title=Fibonacci multiplication |journal=Applied Mathematics Letters |volume=1 |issue=1 |year=1988 |pages=57-60 |doi=10.1016/0893-9659(88)90176-0}}</ref>. Следует отметить, что другое «произведение» <math>\sum_{k,l} \varepsilon_k \zeta_l F_{k+l-2},</math> отличающееся лишь сдвигом на два разряда, уже не является
+
Эта операция обладает [[Ассоциативная операция|ассоциативностью]], на что впервые обратил внимание [[Кнут, Дональд Эрвин|Дональд Кнут]]<ref>{{статья |заглавие=Fibonacci multiplication |ссылка=https://archive.org/details/sim_applied-mathematics-letters_1988_1_1/page/57 |издание=Applied Mathematics Letters |том=1 |номер=1 |страницы=57—60 |doi=10.1016/0893-9659(88)90176-0 |язык=und |автор=D. E. Knuth |год=1988}}</ref>. Другое «произведение» <math>\sum_{k,l} \varepsilon_k \zeta_l F_{k+l-2},</math> отличающееся лишь сдвигом на два разряда, уже не является ассоциативным.
  
{{заготовка раздела}}
+
{{дополнить раздел|дата=2014-01-09}}
  
 
== Примечания ==
 
== Примечания ==
Строка 191: Строка 191:
 
* {{статья
 
* {{статья
 
|заглавие    = Система счисления Фибоначчи, реализация на C++
 
|заглавие    = Система счисления Фибоначчи, реализация на C++
|год         = 2014
+
|год     = 2014
|ссылка       = http://www.moveinfo.ru/article/stablelink?page=0000041
+
|ссылка     = http://www.moveinfo.ru/article/stablelink?page=0000041
 +
|издание    =
 +
|archiveurl    = https://web.archive.org/web/20141016062442/http://www.moveinfo.ru/article/stablelink?page=0000041
 +
|archivedate    = 2014-10-16
 
}}
 
}}
 +
 +
* Стахов А., Слученкова А., Щербаков И. Код да Винчи и ряды Фибоначчи. СПБ. Издательство: Питер, 2006. 320 с. ISBN 5-469-01369-3
 +
* Стахов А. П. Алгоритмическая теория измерения: новый подход к теории позиционных систем счисления и компьютерной арифметике// Журнал «Управляющие машины и системы», 1994, No 4-5.
 +
* Стахов А. П. Компьютеры Фибоначчи и новая теория кодирования: история, теория, перспективы// Электронный журнал Таганрогского радиотехнического университета «Перспективные информационные технологии и интеллектуальные системы», № 2 (18), 2004// http://pitis.tsure.ru/files18/p5.pdf.
 
[[Категория:Системы счисления]]
 
[[Категория:Системы счисления]]
 
[[Категория:Золотое сечение]]
 
[[Категория:Золотое сечение]]
 
[[Категория:Сжатие данных]]
 
[[Категория:Сжатие данных]]

Текущая версия от 00:56, 20 августа 2025

Системы счисления в культуре
Индо-арабская
Арабская
Тамильская
Бирманская
Кхмерская
Лаосская
Монгольская
Тайская
Восточноазиатские
Китайская
Японская
Сучжоу
Корейская
Вьетнамская
Счётные палочки
Алфавитные
Абджадия
Армянская
Ариабхата
Кириллическая
Греческая
Грузинская
Эфиопская
Еврейская
Акшара-санкхья
Другие
Вавилонская
Египетская
Этрусская
Римская
Дунайская
Аттическая
Кипу
Майяская
Эгейская
Символы КППУ
Позиционные
2, 3, 4, 5, 6, 8, 10, 12, 16, 20, 60
Нега-позиционная
Симметричная
Смешанные системы
Фибоначчиева
Непозиционные
Единичная (унарная)

Фибоначчиева система счисления — смешанная система счисления для целых чисел на основе чисел Фибоначчи F2=1, F3=2, F4=3, F5=5, F6=8 и т. д.

Zeckendorf representations.svg
Число Запись
в ФСС
Код
Фибоначчи
0 0……0  
F2=1 1 11
F3=2 10 011
F4=3 100 0011
4 101 1011
F5=5 1000 00011
6 1001 10011
7 1010 01011
F6=8 10000 000011
Fn − 1  101010 0101011 
Fn 10……00 00……011
Fn + 1 10……01 10……011

Представление натуральных чисел[править | править код]

Любое неотрицательное целое число a a можно единственным образом представить последовательностью битов …εk…ε4ε3ε2 ( ε k { 0 , 1 } \varepsilon_k \in \{ 0,1\} ) так, что a = k ε k F k a = \sum_k \varepsilon_k F_k , причём последовательность {εk} содержит лишь конечное число единиц, и не имеет пар соседних единиц: k 2 : ( ε k = 1 ) ( ε k + 1 = 0 ) \forall k\ge 2\colon (\varepsilon_k=1) \Rightarrow (\varepsilon_{k+1}=0) . За исключением последнего свойства, данное представление аналогично двоичной системе счисления.

Обоснование[править | править код]

В основе лежит теорема Цекендорфа[1] — любое неотрицательное целое число единственным образом представимо в виде суммы некоторого набора попарно различных чисел Фибоначчи с индексами, большими единицы, не содержащего пар соседних чисел Фибоначчи.

Доказательство существования легко провести по индукции. Любое целое число a 1 a\ge 1 попадёт в промежуток между двумя соседними числами Фибоначчи, то есть для некоторого n 2 n\ge 2 верно неравенство: F n a < F n + 1 F_n \le a < F_{n+1} . Таким образом, a = F n + a a = F_n + a' , где a = a F n   a'=a-F_n\ , так что разложение числа a a' уже не будет содержать слагаемого F n 1 F_{n-1} .

Использование[править | править код]

Юпана[править | править код]

Предполагают, что некоторые разновидности юпаны (абака инков) использовали фибоначчиеву систему счисления, чтобы минимизировать необходимое для вычислений число зёрен[2].

В теории информации[править | править код]

На основе фибоначчиевой системы счисления строится код (кодирование) Фибоначчи — универсальный код для натуральных чисел (1, 2, 3…), использующий последовательности битов. Поскольку комбинация 11 запрещена в фибоначчиевой системе счисления, её можно использовать как маркер конца записи.

Для составления кода Фибоначчи по записи числа в фибоначчиевой системе счисления следует переписать цифры в обратном порядке (так, что старшая единица оказывается последним символом) и приписать в конце ещё раз 1 (см. таблицу). То есть, кодовая последовательность имеет вид:

ε2ε3…εn1,

где n — номер самого старшего разряда с единицей.

Арифметика[править | править код]

Сложение чисел в позиционных системах счисления выполняется с использованием переноса, позволяющего устранять последствия переполнения разряда. Например, в двоичной системе: 01 + 01 = 02 = 10.

В фибоначчиевой системе счисления дело обстоит сложнее:

  • Во-первых, вес старших разрядов не является кратным весу разряда, из которого требуется перенос. При сложении двух единиц в одном разряде требуется перенос не только влево, но и вправо: 0200 = 1001. При переносе в отсутствующие разряды ε1 и ε0 следует помнить, что F1=1=F2 и F0=0.
  • Во-вторых, требуется избавляться от соседних единиц: 011 = 100. Правило для раскрытия двоек является следствием этого равенства: 0200 = 0100 + 0011 = 0111 = 1001.

Шаблон:Дополнить раздел

Обобщение на вещественные числа[править | править код]

Число Представление
через степени  φ \varphi
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

Похожее устройство имеет позиционная система счисления с иррациональным основанием, равным золотому сечению φ = ( 1 + 5 ) / 2 \varphi = (1 + \sqrt{5})/2 .

Любое вещественное число x из отрезка [0,1] допускает разложение в ряд через отрицательные степени золотого сечения: x = k = 1 ε k φ k , ε k { 0 , 1 } x = \sum_{k=-1}^{-\infty} \varepsilon_k \varphi^k,\qquad \varepsilon_k \in \{0,1\} где { ε k } \left\{ \varepsilon_k \right\} обладает тем же свойством отсутствия соседних единиц. Коэффициенты находятся последовательным сравнением x с φ 1 \varphi^{-1}  — золотым сечением отрезка [0,1], вычитанием φ 1 \varphi^{-1} (если ε k = 1 \varepsilon_k = 1 ) и умножением на φ \varphi . Из этого нетрудно видеть, что любое неотрицательное вещественное число допускает разложение: a = k = N 1 ε k φ k , a = \sum_{k=N-1}^{-\infty} \varepsilon_k \varphi^k\,, где N таково, что a < φ N a < \varphi^N . При этом ε k = 0 \varepsilon_k = 0 для всех k N k \geqslant N .

Эти формулы полностью аналогичны формулам для обычных позиционных систем с целыми основаниями. Оказывается, что любое неотрицательное целое число (и, более общо, всякий неотрицательный элемент кольца Z + φ Z {\mathbb Z}+\varphi{\mathbb Z} ) имеет представление лишь с конечным количеством единиц, то есть в виде конечной суммы неповторяющихся степеней золотого сечения.[3]

Аналогия между числами Фибоначчи и степенями золотого сечения основана на одинаковой форме тождеств: F k = F k 1 + F k 2 F_k = F_{k-1} + F_{k-2} φ k = φ k 1 + φ k 2 \varphi^k = \varphi^{k-1} + \varphi^{k-2} позволяющих устранение соседних единиц. Прямой связи между представлением натуральных чисел в системе золотого сечения и в фибоначчиевой не имеется.

Правила сложения аналогичны показанным выше с той поправкой, что перенос в сторону младших разрядов распространяется без ограничения. В данной системе счисления можно производить и умножение.

Фибоначчиево умножение[править | править код]

Для целых чисел a = k ε k F k   a = \sum_k \varepsilon_k F_k\ и b = l ζ l F l   b = \sum_l \zeta_l F_l\ можно определить «умножение»[4] a b = k , l ε k ζ l F k + l , a \circ b = \sum_{k,l} \varepsilon_k \zeta_l F_{k+l}, которое аналогично умножению чисел в двоичной системе счисления.

Эта операция не является настоящим умножением чисел, и выражается формулой:[5] a b = 3 a b a ( b + 1 ) φ 2 b ( a + 1 ) φ 2 , a\circ b = 3 a b - a \lfloor(b+1)\varphi^{-2}\rfloor - b \lfloor(a+1)\varphi^{-2}\rfloor, где \lfloor\cdot\rfloor  — целая часть, φ = 1 + 5 2 \varphi=\frac{1+\sqrt{5}}{2}  — золотое сечение.

Эта операция обладает ассоциативностью, на что впервые обратил внимание Дональд Кнут[6]. Другое «произведение» k , l ε k ζ l F k + l 2 , \sum_{k,l} \varepsilon_k \zeta_l F_{k+l-2}, отличающееся лишь сдвигом на два разряда, уже не является ассоциативным.

Шаблон:Дополнить раздел

Примечания[править | править код]

  1. Эдуард Цекендорф. Дата обращения: 27 января 2010. Архивировано из оригинала 6 мая 2017 года.
  2. Antonio Aimi, Nicolino De Pasquale. Andean Calculators. Дата обращения: 12 декабря 2009.
  3. Система счисления на основе золотого сечения[англ.]
  4. последовательность A101330 в OEIS (англ.), Теорема Цекендорфа
  5. Notes on the Fibonacci circle and arroba products (англ.)
  6. D. E. Knuth. Fibonacci multiplication (неопр.) // Applied Mathematics Letters. — 1988. — Т. 1, № 1. — С. 57—60. — doi:10.1016/0893-9659(88)90176-0.

Литература[править | править код]

  • Воробьёв Н. Н. Числа Фибоначчи. — Наука, 1978. — Т. 39. — (Популярные лекции по математике).
  • Стахов А., Слученкова А., Щербаков И. Код да Винчи и ряды Фибоначчи. СПБ. Издательство: Питер, 2006. 320 с. ISBN 5-469-01369-3
  • Стахов А. П. Алгоритмическая теория измерения: новый подход к теории позиционных систем счисления и компьютерной арифметике// Журнал «Управляющие машины и системы», 1994, No 4-5.
  • Стахов А. П. Компьютеры Фибоначчи и новая теория кодирования: история, теория, перспективы// Электронный журнал Таганрогского радиотехнического университета «Перспективные информационные технологии и интеллектуальные системы», № 2 (18), 2004// http://pitis.tsure.ru/files18/p5.pdf.