Логический сдвиг вправо для отрицательных целых чисел в C?

Как можно выполнить логическое сдвиг отрицательных чисел вправо в C? В основном я ищу эквивалент C > >> в java

ie

int one = -16711936 ;
        //int two = -16711936 ;
        //int three = -1;
        int r, g, b;
        System.out.println(Integer.toBinaryString(one));
         r = one << 8;
         r >>>= 24;

         g = one << 16;
         g >>>= 24;  //this always ends up being -1 in C, instead of 255

         b = one << 24;
         b >>>= 24;
6
задан smooth_smoothie 4 June 2011 в 21:44
поделиться