2 進数のふしぎ

"%b" % -1  #=> "..1"
"%b" % -2  #=> "..10"
"%b" % -3  #=> "..101"
"%b" % -4  #=> "..100"

を見て思ったんですが、ビット長に制限が無ければ、負の整数の 2 進数表記はある桁以上が全部 1 と考えられるんですね。逆に正の整数はある桁以上が 0 と考えられる。
じゃあ、..010101 みたいに、ある桁以上が 0 と 1 を交互に繰り返す数字って考えられるのかなと思ったんですが。

a = ..010101
a*2 = ..101010
a*2 + a = ..101010 + ..010101 = ..111111 = -1
a = -1/3

あれ?