十进制转换为-2进制

来源:互联网 发布:电脑什么软件跑分准 编辑:程序博客网 时间:2024/06/01 20:23
-2进制该怎么表示:如-13表示为1*(-2)^0+1*(-2)^1+1*(-2)^2+0*(-2)^3+1*(-2)^4+1*(-2)^5,那么-13的-2进制就是110111
def foo(n):    a=''    while n:        i = n%2        a = str(i)+a        n = n//(-2)        if i:            n = n+1    print(a)

1 0