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中>>位移
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1.缩放 cxt.scale(2,2);缩放的是整个画布,缩放后,继续绘制的图形会被放大或缩小。 2.位移 ctx...
- 1.缩放 cxt.scale(2,2); 缩放的是整个画布,缩放后,继续绘制的图形会被放大或缩小。 2.位移 ct...
- Node js 和 python 混合编程的功臣--child_process 众所周知,当node 作为服务端时...
- 当我想查看软件运行结束后得到的BAM, BigWig, BED和GTF文件时,我都需要先把他们下载到本地,然后用I...