このディレクトリの索引

'10進数n進数変換表示'(_10進数,_n,_n進数数値ならび,_n進数文字ならび,_n進数表示) :-

        _n >= 0,
        _n =< 35,
        '10進数からn進数ならび'(_10進数,_n,[],_n進数数値ならび,[],_n進数文字ならび),
        atomic_list_concat(_n進数文字ならび,_n進数表示).

'10進数からn進数ならび'(0,_n,L1,L1,L2,L2) :- !.
'10進数からn進数ならび'(D,_n,L1_1,L1,L2_1,L2) :-
        M is D mod _n,
        D_1 is D // _n,
        n進数文字変換(M,M_1),
        '10進数からn進数ならび'(D_1,_n,[M|L1_1],L1,[M_1|L2_1],L2).

n進数文字変換(N,_文字) :-
        N >= 10,
        N =< 35,
        N_2 is N + 55,
        char_code(_文字,N_2).
n進数文字変換(N,_文字) :-
        atom_number(_文字,N).

頭部零10進数n進数変換表示(_10進数,_n,_指定桁数,_n進数数値ならび,_n進数文字ならび,_n進数表示) :-
        '10進数n進数変換表示'(_10進数,_n,_n進数数値ならび,_n進数文字ならび_1,_),
        length(_n進数文字ならび,_指定桁数),
        append(L0,_n進数文字ならび_1,_n進数文字ならび),
        all(L0,'0'),
        atomic_list_concat(_n進数文字ならび,_n進数表示).