Beispiel #1
0
        public Numero DividirOperar(Numero elPrimerNumero, Numero elSegundoNumero, int base1, int base2)
        {
            Numero resultado = null;

            var validarBases = new Validaciones.ValidarBase();


            string PrimerNumero  = validarBases.BaseCambiarNumero(elPrimerNumero, base1);
            string SegundoNumero = validarBases.BaseCambiarNumero(elSegundoNumero, base2);

            Numero numeroUno = new Numero(PrimerNumero, 10);
            Numero numeroDos = new Numero(SegundoNumero, 10);


            if (validarBases.LasDosBasesSonIguiales(numeroUno, numeroDos))
            {
                try
                {
                    double elResultadoNumerico = Convert.ToDouble(numeroUno.elNumero) / Convert.ToDouble(numeroDos.elNumero);
                    resultado          = new Numero(Math.Round(elResultadoNumerico, 0).ToString(), base1);
                    resultado.elNumero = validarBases.BaseCambiarResultado(resultado, base1);
                }
                catch (DivideByZeroException e) {
                    return(new Numero("Se ha intentado dividir entre 0" + e.Message, 10));
                }
            }
            return(resultado);
        }
Beispiel #2
0
        public Numero MultiOperar(Numero elPrimerNumero, Numero elSegundoNumero, int base1, int base2)
        {
            Numero resultado = null;

            var validarBases = new Validaciones.ValidarBase();

            string PrimerNumero  = validarBases.BaseCambiarNumero(elPrimerNumero, base1);
            string SegundoNumero = validarBases.BaseCambiarNumero(elSegundoNumero, base2);

            Numero numeroUno = new Numero(PrimerNumero, 10);
            Numero numeroDos = new Numero(SegundoNumero, 10);


            if (validarBases.LasDosBasesSonIguiales(numeroUno, numeroDos))
            {
                try
                {
                    double elResultadoNumerico = Convert.ToDouble(numeroUno.elNumero) * Convert.ToDouble(numeroDos.elNumero);
                    resultado          = new Numero(Math.Round(elResultadoNumerico, 0).ToString(), base1);
                    resultado.elNumero = validarBases.BaseCambiarResultado(resultado, base1);
                }
                catch (OverflowException e)
                {
                    return(new Numero("El resultado es demasiado grande " + e.Message, 10));
                }
            }
            return(resultado);
        }
Beispiel #3
0
        public Numero Operar(Numero elPrimerNumero, Numero elSegundoNumero)
        {
            Numero resultado    = null;
            var    validarBases = new Validaciones.ValidarBase();

            if (validarBases.LasDosBasesSonIguales(elPrimerNumero, elSegundoNumero))
            {
                double elResultadoNumerico = (elPrimerNumero.elNumeroEnDecimal + elSegundoNumero.elNumeroEnDecimal);
                // toDo: Convertir el resultado en Base diez del punto anterior a la base de los numero
                // por ejemplo: prodria estar sumando "2A" + "3F" en base hexadecimal
                resultado = new Numero(elResultadoNumerico.ToString(), elPrimerNumero.laBase);
            }
            return(resultado);
        }
Beispiel #4
0
        public Numero operar(Numero elPrimerNumero, Numero elSegundoNumero)
        {
            var    validarBases = new Validaciones.ValidarBase();
            Numero elResultado  = null;

            if (validarBases.lasDosBasesSonIguales(elPrimerNumero, elSegundoNumero))
            {
                double resultado = elPrimerNumero.elNumeroEnDecimal + elSegundoNumero.elNumeroEnDecimal;
                // TODO: Convertir el resultado en base 10 del punto anterior a la base de los numeros
                // por ejemplo, originalmente, podria estar sumando "2A" + "3F" en base hexadecimal
                elResultado = new Numero(resultado.ToString(), elPrimerNumero.laBase);
            }
            return(elResultado);
        }
Beispiel #5
0
        public Numero OperarDivision(Numero elPrimerNumero, Numero elSegundoNumero, Numero elResultado)
        {
            Numero resultado      = null;
            Numero resultadoFinal = null;
            var    validarBases   = new Validaciones.ValidarBase();

            string PrimerNumero        = validarBases.CambioBase10(elPrimerNumero, elPrimerNumero.laBase);
            string SegundoNumero       = validarBases.CambioBase10(elSegundoNumero, elSegundoNumero.laBase);
            double elResultadoNumerico = Convert.ToDouble(PrimerNumero) / Convert.ToDouble(SegundoNumero);

            resultado = new Numero(elResultadoNumerico.ToString(), 10);
            string TercerNumero = validarBases.CambioBase10aOtras(resultado, elResultado.laBase);

            resultadoFinal = new Numero(TercerNumero, elResultado.laBase);
            return(resultadoFinal);
        }
Beispiel #6
0
        public double Operar(Numero elPrimerNumero, Numero elSegundoNumero)
        {
            Numero resultado;
            var    validarBase = new Validaciones.ValidarBase();

            if (validarBase.LasDosBasesSonIguales(elPrimerNumero, elSegundoNumero))
            {
                double elResultadoNumerico = (elPrimerNumero.elNumeroEnDecimal + elSegundoNumero.elNumeroEnDecimal)

                                             //Todo: convetir el resultado en base 10 del punto anterior a la base de los numeros
                                             // por ejemplo, originamente, podria estar sumando "2a"

                                             resultado = new Numero(elPrimerNumero.elNumeroEnDecimal + elSegundoNumero.elNumeroEnDecimal);
            }
            return(resultado);
        }
Beispiel #7
0
        public Numero RestaOperar(Numero elPrimerNumero, Numero elSegundoNumero, int base1, int base2)
        {
            Numero resultado = null;

            var validarBases = new Validaciones.ValidarBase();

            string PrimerNumero  = validarBases.BaseCambiarNumero(elPrimerNumero, base1);
            string SegundoNumero = validarBases.BaseCambiarNumero(elSegundoNumero, base2);

            Numero numeroUno = new Numero(PrimerNumero, 10);
            Numero numeroDos = new Numero(SegundoNumero, 10);


            if (validarBases.LasDosBasesSonIguiales(numeroUno, numeroDos))
            {
                double elResultadoNumerico = Convert.ToDouble(numeroUno.elNumero) - Convert.ToDouble(numeroDos.elNumero);
                resultado          = new Numero(Math.Round(elResultadoNumerico, 0).ToString(), base1);
                resultado.elNumero = validarBases.BaseCambiarResultado(resultado, base1);
            }
            return(resultado);
        }