Esempio n. 1
0
    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]));
    }
Esempio n. 2
0
        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();
        }