python实现js中>>位移
作者:
刹那的既视感 | 来源:发表于
2022-03-29 15:15 被阅读0次import ctypes
def int_overflow(val):
maxint = 2147483647
if not -maxint-1 <= val <= maxint:
val = (val + (maxint + 1)) % (2 * (maxint + 1)) - maxint - 1
return val
def unsigned_right_shitf(n,i):
# 数字小于0,则转为32位无符号uint
if n<0:
n = ctypes.c_uint32(n).value
# 正常位移位数是为正数,但是为了兼容js之类的,负数就右移变成左移好了
if i<0:
return -int_overflow(n << abs(i))
#print(n)
return int_overflow(n >> i)
# 参数分别是要移的数字和移多少位
ret = unsigned_right_shitf(-4,1)
print(ret)
本文标题:python实现js中>>位移
本文链接:https://www.haomeiwen.com/subject/gdwcsltx.html
网友评论