如何在prolog中把十进制数转换成二进制数。?

如何在prolog中把十进制数转换成二进制数。?,prolog,Prolog,这给了我输出: dec_bin(1,1). dec_bin(N,B):-N>1,X is N mod 2,Y is N//2,dec_bin(Y,B1),B=B1+X. 但我只想要1100个不带“+”符号的。请有人帮帮我。我想你要照顾的是atom\u concat/3。 还请注意,您的过程在输入编号0时失败 ?- dec_bin(12,K). K = 1+1+0+0. -dec_bin(12,K)。K='1100' dec_bin(0,'0'). dec_bin(1,'1'). dec

这给了我输出:

dec_bin(1,1).
dec_bin(N,B):-N>1,X is N mod 2,Y is N//2,dec_bin(Y,B1),B=B1+X.

但我只想要1100个不带“+”符号的。请有人帮帮我。

我想你要照顾的是
atom\u concat/3
。 还请注意,您的过程在输入编号0时失败

?- dec_bin(12,K).
K = 1+1+0+0.
-dec_bin(12,K)。K='1100'

dec_bin(0,'0').
dec_bin(1,'1').
dec_bin(N,B):-N>1,X is N mod 2,Y is N//2,dec_bin(Y,B1),atom_concat(B1, X, B).