Beispiel #1
0
        public void ConvertBinHex()
        {
            int contador = 0;

            Console.WriteLine();
            Console.Write("Digite um número decimal: ");
            ConversorBinario bin = new ConversorBinario {
                digito = Console.ReadLine()
            };
            ConversorHexadecimal hex = new ConversorHexadecimal();

            char[] s = bin.digito.ToCharArray();

            while (contador == 0)
            {
                foreach (char w in s)
                {
                    if (w != '0' && w != '1' && w != '2' && w != '3' && w != '4' && w != '5' && w != '6' && w != '7' && w != '8' && w != '9')
                    {
                        contador = 1;
                    }
                }

                if (contador == 1)
                {
                    Console.WriteLine("FAVOR DIGITAR ALGARISMOS ENTRE 0 À 9!!!");
                    Console.WriteLine();
                    Console.Write("Digite um número decimal: ");
                    bin.digito = Console.ReadLine();
                    Console.WriteLine();
                    Console.WriteLine("Número digitado foi: " + bin.digito);
                    s        = bin.digito.ToCharArray();
                    contador = 0;
                }

                else
                {
                    Console.WriteLine();
                    Console.Write("Número digitado é: " + bin.digito);
                    contador = 1;
                }
            }

            Console.WriteLine();
            bin.Bina();
            Console.WriteLine();
            hex.digito = bin.digito;
            hex.Hexa();
            Console.WriteLine();
            Console.WriteLine();
        }
        public void ConvertBinDec()
        {
            int contador = 0;

            Console.WriteLine();
            Console.Write("Digite um número hexadecimal: ");
            ConversorDecimal dec = new ConversorDecimal {
                digito = Console.ReadLine()
            };
            ConversorBinario bin = new ConversorBinario();

            char[] s = dec.digito.ToCharArray();

            while (contador == 0)
            {
                foreach (char w in s)
                {
                    if (w != '0' && w != '1' && w != '2' && w != '3' && w != '4' && w != '5' && w != '6' && w != '7' && w != '8' && w != '9' && w != 'a' && w != 'b' && w != 'c' && w != 'd' && w != 'e' && w != 'f' && w != 'A' && w != 'B' && w != 'C' && w != 'D' && w != 'E' && w != 'F')
                    {
                        contador = 1;
                    }
                }

                if (contador == 1)
                {
                    Console.WriteLine("FAVOR DIGITAR ALGARISMOS ENTRE 0 ATÉ 9 E OU A ATÉ F!!!");
                    Console.WriteLine();
                    Console.Write("Digite um número hexadecimal: ");
                    dec.digito = Console.ReadLine();
                    Console.WriteLine();
                    Console.WriteLine("Número digitado é: " + dec.digito.ToUpper());
                    s        = dec.digito.ToCharArray();
                    contador = 0;
                }

                else
                {
                    Console.WriteLine();
                    Console.Write("Número digitado é: " + dec.digito.ToUpper());
                    contador = 1;
                }
            }

            Console.WriteLine();
            dec.DeciHex();
            Console.WriteLine();
            bin.digito = dec.y.ToString();
            bin.Bina();
            Console.WriteLine();
            Console.WriteLine();
        }
Beispiel #3
0
        protected override StringBuilder Traducir(CodeSegment code)
        {
            StringBuilder sb = new StringBuilder();

            foreach (Numero numero in this.Valores)
            {
                string bin = ConversorBinario.StrDecimal(numero.Decimal);
                for (int i = 0; i < Alu.Byte; i++)
                {
                    sb.Append('0');
                }
                sb.AppendLine(bin);
            }
            return(sb);
        }
Beispiel #4
0
        public Numero(Token token)
        {
            Match match = ExpresionesRegulares.Numeros.Match(token.Lexema);

            if (match.Success)
            {
                int    numero = 0;
                string ndecimal;
                if (match.Groups["Decimal"].Success)
                {
                    ndecimal = match.Groups["Decimal"].Value;
                    numero   = Convert.ToInt32(ndecimal);
                }
                else if (match.Groups["Hexadecimal"].Success)
                {
                    ndecimal = $"0x{match.Groups["Hexadecimal"].Value}".ToUpper().Replace("H", "");
                    numero   = Convert.ToInt32(ndecimal, 16);
                }
                else if (match.Groups["Binario"].Success)
                {
                    string binario = match.Groups["Binario"].Value;
                    numero = ConversorBinario.Binario(binario);
                }
                else
                {
                    this.Tamaño = Tamaños.Invalido;
                }
                this.Negativo = numero < 0;
                this.Valor    = ConversorBinario.Decimal(numero);
                if (this.Valor.Length == Alu.Byte)
                {
                    this.Tamaño = Tamaños.Byte;
                }
                else if (this.Valor.Length == Alu.Palabra)
                {
                    this.Tamaño = Tamaños.Palabra;
                }
                else
                {
                    this.Valor  = null;
                    this.Tamaño = Tamaños.Invalido;
                }
            }
        }