Tôi biết những cảnh báo này có lẽ là vô nghĩa .. Nhưng dù sao tôi có thể loại bỏ chúng?C# Bitwise hoặc toán tử được sử dụng trên toán hạng mở rộng ký hiệu; xem xét việc đúc thành loại không dấu nhỏ hơn đầu tiên
Tôi nhận được 7 trong số các cảnh báo này.
Bitwise-or operator used on a sign-extended operand; consider casting to a smaller unsigned type first
này có cái gì để làm với các toán tử OR |
tôi nhấn mạnh những gì phát ra những lời cảnh báo.
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);
Điều này có thể gây nhầm lẫn thêm với kết hợp quần short và chữ ký đã ký và không được chỉ định - chỉ cần nghĩ về loại biểu thức phụ nào sẽ được quảng bá và làm theo lời khuyên trong câu trả lời được chấp nhận. Tập thể dục cho người đọc: thử và nhận "uint x = (<< 16) | " để biên dịch. –
yoyo