/* * C# Program to Convert Big Endian to Little Endian */ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication4 { class Program { static int ReverseBytes(int val) { byte[] intAsBytes = BitConverter.GetBytes(val); Array.Reverse(intAsBytes); return BitConverter.ToInt32(intAsBytes, 0); } static string IntToBinaryString(int v) { string s = Convert.ToString(v, 2); string t = s.PadLeft(32, '0'); string res = ""; for (int i = 0; i < t.Length; ++i) { if (i > 0 && i % 8 == 0) res += " "; res += t[i]; } return res; } static void Main(string[] args) { int little = 2777; int big = ReverseBytes(little); string sLittle = IntToBinaryString(little); string sBig = IntToBinaryString(big); int oLittle = ReverseBytes(big); string oString = IntToBinaryString(oLittle); Console.WriteLine("Original (Intel) little endian value = " + little); Console.WriteLine("Original value as binary string = " + sLittle); Console.WriteLine(""); Console.WriteLine("Reversed big endian value = " + big); Console.WriteLine("Reversed value as string = " + sBig); Console.WriteLine(""); Console.ReadLine(); } } } /* Original (Intel) little endian value = 2777 Original value as binary string = 00000000 00000000 00001010 11011001 Reversed big endian value = -653656064 Reversed value as string = 11011001 00001010 00000000 00000000