12,12. <fixed> ::= [<integer>] <dot> [<digit> {<digit>}] <dot> ::= '.' | ',' W literałach zmiennopozycyjnych (nazywanych także analogicznie do terminologii matematycznej – wykładniczymi, naukowymi, inżynierskimi) występuje dodatkowo znak rozdzielający mantysę od cechy. Najczęściej stosuje się w tym celu literę „e” lub „E”. Mantysa najczęściej musi spełniać warunki literału stałopozycyjnego lub całkowitoliczbowego, a cecha (wykładnik) literału całkowitoliczbowego. <float> ::= <fixed> <symbol_e> <integer> <symbol_e> ::= 'E' | 'e' | 'd' | 'D' Powyższe zasady są uogólnieniem spotykanym w większości języków programowania, tylko w nielicznych implementacjach mogą występować pewne, inne rozwiązania.
W większości języków programowania istnieje podział na liczby całkowite i rzeczywiste. Zapis stałopozycyjny liczb jest więc tylko rodzajem zapisu, uproszczonym w stosunku do zapisu zmiennopozycyjnego, lecz reprezentacja w pamięci tej samej liczby w obu zapisach, np. -10.1 i -1.01E1, będzie identyczna. Są jednak języki w których ta reprezentacja jest inna, odrębna. Tak jest np. w języku PL/I, gdzie istnieje typ FIXED (stałopozycyjny) i FLOAT (zmiennopozycyjny), o różnej reprezentacji liczb w pamięci komputera.