Décompose un nombre entier dans une base négative. Ainsi, 30=(-3)^4+2(-3)^3+1(-3)^2+2*(-3)+0 donc 30=12120 en base -3. Les chiffres sont séparés par | en prévision des bases>10.
def baseneg(n,b): if b==0: return "0" ch="" while n: n,r=divmod(n,b) if r<0: n,r=n+1,r-b ch=str(r)+"|"+ch return ch[:-1]