W PL/1 stosowano rozwiązanie oparte na spakowanym kodzie BCD, w którym rozmiar pamięci zajmowanej przez daną typu stałopozycyjnego można obliczyć ze wzoru:
do wartości c dodać należy 1 na znak liczby +/−, ponieważ jeden znak zajmuje pół słowa (dla maszyn o bajtowym słowie), to należy dla c+1 nieparzystego dodać bajt w którym jedno półsłowo pozostaje niewykorzystane.
Taka reprezentacja liczb stałopozycyjnych, bez odniesienia do deklaracji, w żaden sposób nie zapewnia możliwości właściwej interpretacji danej wprost z jej zapisu w pamięci, gdyż nieznane jest położenie znaku rozdzielającego część całkowitą i ułamkową, które wynika tylko z deklaracji. Nie ma tego problemu dla literałów, odpowiedni atrybut wynika wprost z zapisu literału. Dla danych stałopozycyjnych o części ułamkowej równej zero, przyjmuje się interpretację jak dla liczb typu całkowitego, np. w PL/1 nie ma odrębnego typu całkowitego, a dane całkowite reprezentowane są przez dane stałopozycyjne, zadeklarowane następująco: FIXED <[DEC] | BIN>(c,0)