n & 0xffffffff是对n做补码
原来Python2的int类型有32位和64位一说,但到了Python3,
当长度超过32位或64位之后,
Python3会自动将其转为长整型,长整型理论上没有长度限制。
因为python的int是无限精度的,c++的int是32位的,
所以python的负数相当于前面有无限个1,要对python的负数做处理
用右移运算代表除以2,用位与运算代表取余数(与~余)
11>>1,
12&0x1
try
n & 0xffffffff是对n做补码
原来Python2的int类型有32位和64位一说,但到了Python3,
当长度超过32位或64位之后,
Python3会自动将其转为长整型,长整型理论上没有长度限制。
因为python的int是无限精度的,c++的int是32位的,
所以python的负数相当于前面有无限个1,要对python的负数做处理
用右移运算代表除以2,用位与运算代表取余数(与~余)
11>>1,
12&0x1
try