jueves, 13 de junio de 2013

CONVERTIR DE DECIMAL A BINARIO

Esta es l forma mas facil de convertir un numero decimal a binario en la cual insertas un numero y mediante 2 conversiones te mostrara el numero convertido a binario.

using System;

namespace cadenas_caracteres_o_string_20___feb___13
{
    class Program
    {
        static void Main(string[] args)
        {
            int n;
            n = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Numero Binario es: >> " + Convert.ToString(Convert.ToInt64(n), 2));
            Console.ReadLine();
        }
    }
}



Esta forma es  mediante un metodo donde utiliza un ciclo while que mientras el numero sea mayor a cero, seguira haciendo las operaciones correspondientes..


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Decimal_a_Binario
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public string Dec_Binario(int num)
        {
            string bin = "";
            int res;

            if (num == 0)
                bin = "0";
            else
                while (num > 0)
                {
                    res = num % 2;
                    num = num / 2;
                    bin = Convert.ToString(res) + "" + bin;
                }
            return bin;
        }


        private void button1_Click(object sender, EventArgs e)
        {
            //int num;
            //Graphics g = CreateGraphics();
            //num = Convert.ToInt32(textBox1.Text);
            //textBox1.Text = Dec_Binario(num);
            //Font F = new Font("Arial", 18);
            //g.DrawString(num, F, Brushes.Blue, 10, 120);

            int num;
            num = Convert.ToInt32(textBox1.Text);
            label1.Text = Dec_Binario(num);
        }

    }
}



Esta es otra forma de convertir los numeros de decimal a binario pero ademas puede convertir de binario a decimal usando una clase vector con plantillas (< >)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace clase_vector__consla_
{
    class Vector<T>
    {
        T[] vec;
        int indice = 0;

        public Vector(int Tam)
        {

            vec = new T[Tam];
        }

        public int Tamano
        {
            get { return vec.Length; }
        }


        public void ingresar(T num)
        {
            vec[indice++] = num;
            Console.WriteLine("primo n# " + indice + " " + num);

        }

        public void decbin(T decima, int indice)
        {
            vec[indice] = decima;
            Console.SetCursorPosition(20 + indice, 5);
            Console.Write(vec[indice]);
        }


        public int bindec(string binario)
        {
            int exponente = binario.Length - 1;
            int num_decimal = 0;

            for (int i = 0; i < binario.Length; i++)
            {
                if (int.Parse(binario.Substring(i, 1)) == 1)
                {
                    num_decimal = num_decimal + int.Parse(System.Math.Pow(2, double.Parse(exponente.ToString())).ToString());
                }
                exponente--;
            }
            return num_decimal;
           
        }
    }
}
==========================================================

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace clase_vector__consla_
{
    class Program
    {
        static void Main(string[] args)
        {
            Vector<int> V = new Vector<int>(7);

            Console.WriteLine("1. DECIMAL - BINARIO , 2. BINARIO - DECIMAL");
            int escoger = int.Parse(Console.ReadLine());

           
                if (escoger == 1)
                {
                    Console.WriteLine("ingrese el numero decimal entero");
                    int num = int.Parse(Console.ReadLine());

                    Console.WriteLine("Decimal  ------->>  Binario    ");
                    Console.Write( num);

                       Vector<int> dec = new Vector<int>(6);

                        for (int i = 0; i <= dec.Tamano - 1; i++)
                        {

                            dec.decbin(num % 2, i);
                            num = num / 2;
                        }
                }
                else
                    if (escoger == 2)
                    {
                        Console.WriteLine("ingrese el numero binario");
                        string bin = Convert.ToString(Console.ReadLine());
                        Vector<int> dec = new Vector<int>(6);
                        Console.WriteLine("el decimal es " + dec.bindec(bin));

                    }
                    else
                        Console.WriteLine("Teclea 1 o 2");

                        Console.ReadKey();

        }
    }
}



No hay comentarios:

Publicar un comentario