Sé que estas advertencias son probablemente inútiles ... ¿Pero de todos modos podría deshacerme de ellas?C# operador bit a bit utilizado en un operando con signo extendido; considere la posibilidad de enviar a un tipo sin signo más pequeño primero
Recibí 7 de estas advertencias.
Bitwise-or operator used on a sign-extended operand; consider casting to a smaller unsigned type first
Esto tiene algo que ver con el operador OR |
destaqué lo emite las advertencias.
int result = (int)ror((uint)(v76^(v75 | 0x862D63D3)), (uint)(BitConverter.ToInt32(v4, 72)^0x22));
int v11 = (int)rol((uint)(int)((v8 & v10 | ~v10 & 0xEFCDAAC9) + v3[2] - 1126481991), 17);
int v144 = (int)rol((uint)(int)((v141 & v143 | ~v143 & 0xEFCDAAC9) + v3[2] - 1126481991), 17);
int v77 = (int)(`BitConverter.ToInt32(v4, 52) | 0x96C35837`);
BitConverter.GetBytes((int)(v30 & 0x870DEA8A | v29)).CopyTo(v2, 32);
int temp24 |= (int)(BitConverter.ToInt32(v3, 48) | 0x96B4A1B4);
int v17 = (int)(BitConverter.ToInt32(v3, 12) | 0x83868A1D);
Esto puede confundir adicionalmente con una combinación de cortos firmados y no firmados, solo piense en qué tipo se promocionarán sus sub expresiones y siga los consejos en la respuesta aceptada. Ejercicio para el lector: intente y obtenga "uint x = (<< 16) | " para compilar. –
yoyo