Powered By Blogger

miércoles, 3 de mayo de 2017

Calculadora Decimal-Binario y Binario-Decimal En Visual Studio 2015 y C#

Este programa convierte un número en formato decimal (exclusivamente números positivos) a su correspondiente en sistema base 2 (sistema binario) o viceversa dada la expresión en sistema binario el programa muestra el correspondiente en formato decimal.

No trabaja números con punto flotante ni tipos de datos sin signo.

La calculadora está hecha en Visual Studio 2015, en la plataforma Windows Form en el lenguaje de programación de C#.

Pasos:

1. Crear un nuevo proyecto
2. Agregar dos componentes labels, texboxs, buttons respectivamente.
3. El formulario debería de verse mas o menos asi:


5. Finalmente procederemos a agregar el código que se encargará de realizar las operaciones de conversión

5.1 Agregaremos dos variables públicas globales:

public
        string dateInBinary=null;
        int dateInDecimal=0;

5.2 Dentro del evento del button1 agregaremos el siguiente código:

            int i = 0;
            string currentCharacter = null;
            int finalValue=0;

            if (textBox1.Text == null)
            {

            }
            else
            {
                dateInBinary = textBox1.Text; 
                for (; i < dateInBinary.Length ; i++)
                {
                    currentCharacter = dateInBinary.Substring(i, 1);                    
                    if (currentCharacter == "1")
                    {                                                                       
                        finalValue = finalValue + Convert.ToInt32(Math.Pow(2f, ((dateInBinary.Length-1)- i)));
                    }
                }
                textBox2.Text = finalValue.ToString();
            }

5.3 Finalmente para el button2 agregaremos el siguiente código:

            string inputNumber = null;
            string residuo = null;
            string finalBinary = null;
            int aux = 0;
            int result = 0;
            int i = 0;

            if (textBox2.Text == null)
            {

            }
            else
            {
                inputNumber = textBox2.Text;
                dateInDecimal = int.Parse(inputNumber);
                aux = dateInDecimal;                
                while (result != 1)
                {
                    result = aux / 2;
                    if ((aux % 2) == 1)
                    {
                        residuo = residuo + "1";
                    }
                    if((aux % 2) == 0)
                    {
                        residuo = residuo + "0";
                    }
                    aux = result;
                }
                residuo = residuo + 1;

                for (i = residuo.Length - 1; i >= 0; i--)
                {
                    finalBinary = finalBinary+residuo.Substring(i, 1);
                }
                textBox1.Text = finalBinary;                               
            }

6. Y listo ahora podemos guardar los cambios y probar nuestra aplicación.

Nota: Es importante aclarar que solo funciona una operación a la vez por lo tanto hay que tener cuidado con la manipulación de los datos o se generará un error. Es un programa bastante simple, hay otras formas de realizarlo esto es solo un ejemplo.

Comenten si les fue útil, si tienen duda de igual manera estoy a sus ordenes!!!

No hay comentarios:

Publicar un comentario