public static void Main()
var userId = new Guid("f446ec5e-20a5-4452-94e1-0b5388f58f2c");
byte[] ba = userId.ToByteArray();
Console.WriteLine("With Math.Abs():");
long firstHalf = Math.Abs(BitConverter.ToInt64(ba, 2));
long secondHalf = Math.Abs(BitConverter.ToInt64(ba, 8));
var combined = firstHalf ^ secondHalf;
Console.WriteLine("\tUser Id: " + userId.ToString());
Console.WriteLine("\tFirst Half: " + firstHalf);
Console.WriteLine("\tSecond Half:" + secondHalf);
Console.WriteLine("\tCombined: " + combined);
Console.WriteLine("\tResult:" + Base36Extensions.ToBase36(combined));
Console.WriteLine("Without Math.Abs()");
long regFirstHalf = BitConverter.ToInt64(ba, 2);
long regSecondHalf = BitConverter.ToInt64(ba, 8);
var regCombined = regFirstHalf ^ regSecondHalf;
Console.WriteLine("\tUser Id: " + userId.ToString());
Console.WriteLine("\tFirst Half: " + regFirstHalf);
Console.WriteLine("\tSecond Half:" + regSecondHalf);
Console.WriteLine("\tCombined: " + regCombined);
Console.WriteLine("\tResult:" + Base36Extensions.ToBase36(regCombined));