Implementing Logical Right Shift in C

后端 未结 8 1141
心在旅途
心在旅途 2020-11-29 07:07

I\'m working on making a logical right shift function in C using only bitwise operators. Here\'s what I have:

int logical_right_shift(int x, int n)
{
    int         


        
8条回答
  •  再見小時候
    2020-11-29 07:32

    Derived from php's implementation of logical right shifting

    function logical_right_shift( i , shift ) {
    
        if( i & 2147483648 ) {
            return ( i >> shift ) ^ ( 2147483648 >> ( shift - 1 ) );
        }
    
        return i >> shift;
    }
    

    For 32bit platforms only.

提交回复
热议问题