none
problemas con mi conversion de binario a decimal RRS feed

  • Pregunta

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

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

            private void Form1_Load(object sender, EventArgs e)
            {

            }

            private void button1_Click(object sender, EventArgs e)
            {
                int num, binary_val, decimal_val = 0, base_val = 1, rem;

                num = Int32.Parse(textBox1.Text);
                binary_val = num;
                while (num > 0)
                {
                    rem = num % 10;
                    decimal_val = decimal_val + rem * base_val;
                    num = num / 10;
                    base_val = (base_val * 2);

                }   

                     textBox2.Text = base_val.ToString();

                }
            }
        }

    no hace la conversión correctamente y no encuentro donde podría estar la falla .

                   
    viernes, 24 de octubre de 2014 16:47

Todas las respuestas

  • decimal d = Convert.ToDecimal(binaryValue);

    viernes, 24 de octubre de 2014 16:55
  • Int32 a = Convert.ToInt32("10100111000011011101110001110110", 2);

    using System;
    using System.Linq;
    using System.Windows.Forms;
    
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                int base_val = 0;
                string texto = textBox1.Text.TrimStart(new char[] { '0' });
    
                if (texto.Length > 32)
                {
                    throw new Exception("blablabla");
                }
                
                foreach (char item in texto.Reverse())
                {
                    if (item == '0' || item == '1')
                    {
                        base_val <<= 1;
                        base_val |= (item - '0');
                    }
                    else
                    {
                        throw new Exception("blablabla");
                    }
                }
    
                textBox2.Text = base_val.ToString();
            }
        }
    }

    https://social.msdn.microsoft.com/Forums/es-ES/home?forum=vcses


    • Propuesto como respuesta Deric Ferreira viernes, 24 de octubre de 2014 17:20
    • Editado _Luis_ viernes, 24 de octubre de 2014 19:51
    viernes, 24 de octubre de 2014 17:12