using System;
public class Test {
public static uint SwapBytes(UInt32 x) {
// swap adjacent 16-bit blocks
x = (x >> 16) | (x << 16);
// swap adjacent 8-bit blocks
return ((x & 0xFF00FF00) >> 8) | ((x & 0x00FF00FF) << 8);
}
static void Main() {
var buffer = new byte[] { 33, 49, 0, 32, 0, 0, 0, 0, 2, 230, 69, 56, 0, 1, 125, 181, 99, 99, 136, 122, 92, 1, 99, 196, 231, 90, 205, 20, 75, 233, 5, 103 };
var value = BitConverter.ToUInt32(buffer, 8);
Console.WriteLine(SwapBytes(value));
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QgewoJCXB1YmxpYyBzdGF0aWMgdWludCBTd2FwQnl0ZXMoVUludDMyIHgpIHsKCQkJLy8gc3dhcCBhZGphY2VudCAxNi1iaXQgYmxvY2tzCgkJCXggPSAoeCA+PiAxNikgfCAoeCA8PCAxNik7CgkJCS8vIHN3YXAgYWRqYWNlbnQgOC1iaXQgYmxvY2tzCgkJCXJldHVybiAoKHggJiAweEZGMDBGRjAwKSA+PiA4KSB8ICgoeCAmIDB4MDBGRjAwRkYpIDw8IDgpOwoJCX0KCgkJc3RhdGljIHZvaWQgTWFpbigpIHsKCQkJdmFyIGJ1ZmZlciA9IG5ldyBieXRlW10geyAzMywgNDksIDAsIDMyLCAwLCAwLCAwLCAwLCAyLCAyMzAsIDY5LCA1NiwgMCwgMSwgMTI1LCAxODEsIDk5LCA5OSwgMTM2LCAxMjIsIDkyLCAxLCA5OSwgMTk2LCAyMzEsIDkwLCAyMDUsIDIwLCA3NSwgMjMzLCA1LCAxMDMgfTsKCQkJdmFyIHZhbHVlID0gQml0Q29udmVydGVyLlRvVUludDMyKGJ1ZmZlciwgOCk7CgkJCUNvbnNvbGUuV3JpdGVMaW5lKFN3YXBCeXRlcyh2YWx1ZSkpOwoJCX0KfQ==