difference between JavaScript bit-wise operator code and Python bit-wise operator code

后端 未结 2 600
余生分开走
余生分开走 2021-01-13 05:44

I have converted JavaScript code which uses bit-wise operators in that code to Python code, but there is one problem when i do this in JavaScript and Python

         


        
2条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2021-01-13 06:25

    As stated in this SO answer, in javascript the bitwise operators and shift operators operate on 32-bit ints, and your second example overflows the 32 bit capacity, so the python equivalent would be:

    (424970184 << 10) & 0x7FFFFFFF
    

    (you get a "modulo"/"masked" value with the signed 32 bit integer mask, not the actual value)

    In Python there's no limit in capacity for integers, so you get the actual value.

提交回复
热议问题