Bitwise Rotate Right

后端 未结 5 2120
佛祖请我去吃肉
佛祖请我去吃肉 2021-02-06 08:55

I am trying to convert this C function into Python;

typedef unsigned long var;
    /* Bit rotate rightwards */
    var ror(var v,unsigned int bits) {
        ret         


        
5条回答
  •  天涯浪人
    2021-02-06 09:30

    i know its nearly 6 years old

    I always find it easier to use string slices than bitwise operations.

    def rotate_left(x, n):
        return int(f"{x:032b}"[n:] + f"{x:032b}"[:n], 2)
    
    def rotate_right(x, n):
        return int(f"{x:032b}"[-n:] + f"{x:032b}"[:-n], 2)
    

提交回复
热议问题