Advertisement
Guest User

js左移python实现

a guest
Dec 14th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1. def correct_shift_v2(ac, n):
  2. if ac >= 0:
  3. flag = False
  4. ac = bin(ac << n).lstrip("0b")[-32:].zfill(32)
  5. else:
  6. flag = True
  7. ac = bin(ac << n).lstrip("-0b")[-32:].zfill(32)
  8. if ac[0] == "1":#JavaScript这种情况会溢出成为负数
  9. #翻转替换末尾的0以及挨着的1
  10. temp = "1" + re.findall("(.*?)1",ac[::-1])[0]
  11. ac = ac.replace(temp, "")
  12. ac = list(ac)
  13. for i, c in enumerate(ac):#取反
  14. if c == "1":
  15. ac[i] = "0"
  16. elif c == "0":
  17. ac[i] = "1"
  18. else:
  19. pass
  20. ac = "".join(ac) + temp
  21. ac = -int(ac ,2)
  22. else:
  23. ac = int(ac ,2)
  24. if flag == True:
  25. ac = -ac
  26. else:
  27. pass
  28. return ac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement