因为>>3相当于除以8,按道理说是-1.5,-1.5还不到-1,就是差0.5才到-1,为了去整只能舍弃那多出来的0.5,你要理解,即使你是-1.0001就差0.0001就到1了,但还是不到-1,同样是舍弃那多出来的0.9999,这跟整数是一个道理的,1.9999,就差0.0001就到2,同样得舍弃那多出来的0.9999
-12→11110100(补)→11110100(补)>>3→11111110(补)→最后这个就是-2的补码。
就是这样的