Выдержки из «Простые алгоритмы переводов p→p-1 и p→p+1»[1].

Вычеты и неполные частные

A,p,k∈ℕ , p≥2 ,   0≤k≤p−2

{A}p — наименьший неотрицательный вычет по основанию p , удовлетворяющий условию 0≤{A}(p,k)≤p−1

[A]p — неполное частное по основанию p , определяемое из соотношения A=p⋅[A]p+{A}p .

{A}(p,k) — наименьший неотрицательный вычет по основанию (p,k) , удовлетворяющий условию −k≤{A}(p,k)≤p−k−1

[A](p,k) — неполное частное по основанию (p,k) , определяемое из соотношения A=p⋅[A](p,k)+{A}(p,k) .

Алгоритмы деления на p±1

[(an…a0)p](p±1)=(bn…b0)p ,

{(an…a0)p}(p±1)=c0 ,

где bi(i=n,n−1,…,0) и с0 определяются формулами

bi=ci+1+[ai∓ci+1]p±1 ,

ci={ai∓ci+1}p±1 ,

cn+1=0

Пример перевода из десятичной системы счисления в девятеричную

   1234
c 01361
b  0137
c  0142
b   015
c   016
b    01
c     1
b     0

123410→16219

Пример перевода из девятеричной системы счисления в десятичную

   1621
c 01574
b  0146
c  0133
b   013
c   012
b    01
c     1
b     0

16219→123410

Литература

  1. Рамиль Альварес Х. Простые алгоритмы переводов p→p-1 и p→p+1. — В кн.: Вычислительная техника и вопросы кибернетики, вып. 7. Изд-во МГУ, 1970