using System; public class DecimalTest { public static string BitWiseCompare(Decimal m1,Decimal m2) { int[] b1=Decimal.GetBits(m1); int[] b2=Decimal.GetBits(m2); String ret="|"; for(int i=0;i<4;i++) { ret+= " " + (b1[i] ^ b2[i]) + " |"; } return ret; } public static void Main() { Decimal part3= Decimal.Truncate(1234567899123456789912345678m*0.1m) ; Console.Write("part3 == 123456789912345678991234567m :"); Console.WriteLine(part3 == 123456789912345678991234567m); Console.Write("(part3*10.0m) == 1234567899123456789912345670m :"); Console.WriteLine((part3*10.0m) == 1234567899123456789912345670m); Console.WriteLine(BitWiseCompare((part3*10.0m) , 1234567899123456789912345670m)); Console.Write("(123456789912345678991234567m*10.0m) == 1234567899123456789912345670m :"); Console.WriteLine((123456789912345678991234567m*10.0m) == 1234567899123456789912345670m); Console.WriteLine(BitWiseCompare((123456789912345678991234567m*10.0m) , 1234567899123456789912345670m)); } }