Ułamek łańcuchowy (skończony) jest to wyrażenie postaci:

gdzie
jest liczbą całkowitą, a wszystkie pozostałe liczby
są naturalne i większe od 0.
Zamiast notacji „piętrowej” najczęściej korzysta się z notacji „poziomej”, zapisując odpowiedni ułamek jako:
![{\displaystyle [a_{0};a_{1},a_{2},a_{3},\dots ,a_{k}].}](https://wikimedia.org/api/rest_v1/media/math/render/svg/34497dc4229cf413cd0ae0137a8b378aaa1e3ffc)
Często wykorzystywana jest również notacja wprowadzona przez Pringsheima:

Ułamek łańcuchowy nieskończony definiujemy jako granicę ciągu ułamków skończonych (granica ta zawsze istnieje):
![{\displaystyle [a_{0};a_{1},a_{2},a_{3},\dots ]=\lim _{k\to \infty }[a_{0};a_{1},a_{2},a_{3},\dots ,a_{k}].}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3ad732fe42109144e1216dca493018389bd09a8d)
Jeżeli x jest wartością ułamka
(skończonego lub nie), to
nazywamy n-tym reduktem liczby x.
Okazuje się, że każdą liczbę rzeczywistą można zapisać w postaci ułamka łańcuchowego, przy czym liczbom wymiernym odpowiadają ułamki skończone, natomiast liczbom niewymiernym – ułamki nieskończone. Algorytm przedstawiania liczby x w postaci ułamka łańcuchowego można schematycznie zapisać następująco:
![{\displaystyle x=[\lfloor x\rfloor ;1/(x-\lfloor x\rfloor )],}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2902c0137caea0041093b3b66b380d4741273df8)
gdzie
oznacza część całkowitą liczby x. Innymi słowy:
a dalej postępuj podobnie z
W nieco bardziej sformalizowanej postaci:


- JEŚLI
– STOP

- PRZEJDŹ DO 2
Dla x = 2,35, otrzymujemy na przykład:








Zatem:
![{\displaystyle 2{,}35=2+{\cfrac {1}{2+{\cfrac {1}{1+{\cfrac {1}{6}}}}}}=[2;2,1,6]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/40cce5c311decf5ec1f80abf38eec62a25444b6b)
Dla
zdefiniowanych rekurencyjnie wzorami:



zachodzi
Ponadto jest to postać nieskracalna tego ułamka.
Dla ułamków skończonych reprezentujących liczby wymierne zachodzi
![{\displaystyle [a_{0};a_{1},a_{2},\dots ,a_{k}+1]=[a_{0};a_{1},a_{2},\dots ,a_{k},1],}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7de871bc8f51612c4e507ca9e7b43bf8c7f99357)
czyli rozwinięcie nie jest jednoznaczne. Staje się jednoznaczne przy założeniu że ta ostatnia liczba jest większa od 1, tzn.
każdą liczbę wymierną można jednoznacznie przedstawić w postaci
gdzie a0 jest liczbą całkowitą,
są liczbami naturalnymi,
Rozwinięcie liczby niewymiernej w ułamek łańcuchowy zawsze jest jednoznaczne.
Kolejne redukty rozwinięcia danej liczby w ułamek łańcuchowy są najlepszymi przybliżeniami wymiernymi tej liczby o możliwie małych mianownikach. Dokładniej, jeżeli liczba wymierna
jest lepszym przybliżeniem liczby
niż redukt liczby
przedstawiony w postaci ułamka nieskracalnego, to mianownik
tej liczby jest większy od mianownika tego reduktu[1]. Ponadto redukty parzyste szacują liczbę od dołu, a nieparzyste od góry.