2011-11-14 8 views

Respuesta

15

Tienes que lanzar en primer lugar, no hay un solo operador para >>>, ejemplo de código:

int x = -100; 
int y = (int)((uint)x >> 2); 
Console.WriteLine(y); 
+0

hola Peer, ¿me puede decir la expresión equivalente de '(hash >>> 0)' en C#? –

+1

Si el tipo de hash es un int. Es lo mismo. – Peter

7

>> operador de C# 's es sensible al estado firmada por el operador (int vs uint). Si necesita operar en un int, envíe primero al unit.

3

creo que es justo >> si se firma o no depende de si se trata de un int/largo o uint/ulong, por lo que tendría que emitir como sea necesario

0

se puede utilizar este método en lugar del operador >>>.

int src1, src2, ans; 
ans = rightMove(src1 , src2); 

     int rightMove(int value, int pos) 
     { 
      if (pos != 0) 
      { 
       int mask = 0x7fffffff; 
       value >>= 1; 
       value &= mask; 
       value >>= pos - 1; 
      } 
      return value; 
     } 
Cuestiones relacionadas