1. 程式人生 > 實用技巧 >【.NET】大小端互轉,反轉位元組序

【.NET】大小端互轉,反轉位元組序

程式碼已測試

public static long Reverse(long value)
{
    return (((long)Reverse((int)value) & 0xFFFFFFFF) << 32)
            | ((long)Reverse((int)(value >> 32)) & 0xFFFFFFFF);
}

public static ulong Reverse(ulong value)
{
    return (((ulong)Reverse((uint)value) & 0xFFFFFFFF) << 32
) | ((ulong)Reverse((uint)(value >> 32)) & 0xFFFFFFFF); } public static int Reverse(int value) { return (((int)Reverse((short)value) & 0xFFFF) << 16) | ((int)Reverse((short)(value >> 16)) & 0xFFFF); } public static uint Reverse(uint value) {
return (((uint)Reverse((ushort)value) & 0xFFFF) << 16) | ((uint)Reverse((ushort)(value >> 16)) & 0xFFFF); } public static short Reverse(short value) { return (short)((((int)value & 0xFF) << 8) | (int)((value >> 8) & 0xFF)); } public static ushort
Reverse(ushort value) { return (ushort)((((int)value & 0xFF) << 8) | (int)((value >> 8) & 0xFF)); }