Esempio n. 1
0
        public double Calculate()
        {
            if (currentNumSystem == NumSystem.Binary)
            {
                firstNumber  = NumberSystemConverter.ConvertBinaryToDecimal(firstNumber);
                secondNumber = NumberSystemConverter.ConvertBinaryToDecimal(secondNumber);
            }
            else if (currentNumSystem == NumSystem.Hex)
            {
                firstNumber  = NumberSystemConverter.ConvertHexToDecimal(firstHexNumber);
                secondNumber = NumberSystemConverter.ConvertHexToDecimal(secondHexNumber);
            }
            double score = 0;

            switch (currentOperation)
            {
            case "+":
                score = firstNumber + secondNumber;
                break;

            case "-":
                score = firstNumber - secondNumber;
                break;

            case "*":
                score = firstNumber * secondNumber;
                break;

            case "/":
                score = firstNumber / secondNumber;
                break;

            case "^":
                score = Math.Pow(firstNumber, secondNumber);
                break;
            }
            if (currentNumSystem == NumSystem.Binary)
            {
                firstNumber  = double.Parse(NumberSystemConverter.ConvertDecimalToBinary(firstNumber));
                secondNumber = double.Parse(NumberSystemConverter.ConvertDecimalToBinary(secondNumber));
                score        = double.Parse(NumberSystemConverter.ConvertDecimalToBinary(score));
            }
            if (currentNumSystem == NumSystem.Binary || currentNumSystem == NumSystem.Decimal)
            {
                AddToCalculationsHistory(score);
            }
            else
            {
                AddToCalculationsHistory(NumberSystemConverter.ConvertDecimalToHex(score));
            }
            firstNumber = score;
            return(score);
        }
Esempio n. 2
0
        public double SetSqrtOperation(string value)
        {
            if (currentNumSystem == NumSystem.Binary)
            {
                value = NumberSystemConverter.ConvertBinaryToDecimal(value).ToString();
            }
            else if (currentNumSystem == NumSystem.Hex)
            {
                value = NumberSystemConverter.ConvertHexToDecimal(value).ToString();
            }
            double score = Math.Sqrt(double.Parse(value));

            if (currentNumSystem == NumSystem.Binary)
            {
                score = double.Parse(NumberSystemConverter.ConvertDecimalToBinary(score));
            }
            if (currentNumSystem != NumSystem.Hex)
            {
                AddToCalculationsHistory(value, score, "√");
            }
            return(score);
        }