public double GetFloatNumber(string number, string mode) { FloatAddition floatAdd = new FloatAddition(); String temp = String.Empty; int negativeNumber = number.Split('.')[0].Length; switch (mode) { case "first": return(BinaryToFloatDecimalPart(number.Split('.')[0]) + CalculateFractionalPart(number.Split('.')[1])); break; case "second": return(BinaryToFloatDecimalPart(number.Split('.')[0]) + CalculateFractionalPart(number.Split('.')[1])); break; case "both": temp = floatAdd.FindTwosComplement(number); return(BinaryToFloatDecimalPart(temp.Split('.')[0]) + CalculateFractionalPart(temp.Split('.')[1])); break; } return(BinaryToFloatDecimalPart(number.Split('.')[0]) + CalculateFractionalPart(number.Split('.')[1])); }
public static void Main() { FloatAddition floatAdd = new FloatAddition(); FloatDecimal floatDec = new FloatDecimal(); Console.WriteLine("********************Enter first float number****************************"); double firstNumber = double.Parse(Console.ReadLine()); Console.WriteLine("********************Enter second float number****************************"); double secondNumber = double.Parse(Console.ReadLine()); string finalBinaryResult = String.Empty; double finalFloatResult = 0.0; if (firstNumber > 0 && secondNumber < 0) { finalBinaryResult = floatAdd.PerformAddVersion2(firstNumber, secondNumber, "second"); finalFloatResult = floatDec.GetFloatNumber(finalBinaryResult, "second"); } else if (firstNumber < 0 && secondNumber > 0) { finalBinaryResult = floatAdd.PerformAddVersion2(firstNumber, secondNumber, "first"); finalFloatResult = floatDec.GetFloatNumber(finalBinaryResult, "first"); } else if (firstNumber < 0 && secondNumber < 0) { finalBinaryResult = floatAdd.PerformAddVersion2(firstNumber, secondNumber, "both"); finalFloatResult = floatDec.GetFloatNumber(finalBinaryResult, "both"); } else { finalBinaryResult = floatAdd.PerformAddVersion2(firstNumber, secondNumber, "none"); finalFloatResult = floatDec.GetFloatNumber(finalBinaryResult, "none"); } if (firstNumber >= secondNumber && firstNumber > 0) { Console.WriteLine("res:=> " + "+" + finalBinaryResult); } else { Console.WriteLine("res:=> " + "-" + finalBinaryResult); } Console.WriteLine(finalFloatResult); Console.ReadLine(); }