private string imprimirTelaHexa(string numero, bool hexa)
        {
            Conversor con      = new Conversor();
            string    resposta = null;

            //resultado
            if (hexa)
            {
                return("0x" + con.BinarioParaHexadecimal(con.PontoFlutuanteParaBinario(float.Parse(numero))));
            }
            else
            {
                int num = Convert.ToInt32(numero);
                if (num < 0)
                {
                    num     *= -1;
                    resposta = "-";
                }

                if (num > 255)
                {
                    return(resposta + con.BinarioParaHexadecimal(con.InteiroParaBinario(24, num)));
                }
                else
                {
                    return(resposta + con.BinarioParaHexadecimal(con.InteiroParaBinario(8, num)));
                }
            }
        }
        private int chamarULAinteiro(bool[] f, int a, int b, int tamanho)
        {
            Conversor converter = new Conversor();
            bool      inverteu = false, complemento2A = false, complemento2B = false;

            bool[] A, B;
            int    resposta;

            if (b > a && (f[2] & !f[1] & f[0] || f[2] & !f[1] & !f[0])) //caso seja subtração e b > a ele inverte
            {
                inverteu = true;
                int aux = a;
                a = b;
                b = aux;
            }

            //convertendo pra complemento 2 binario
            if (a < 0)
            {
                a *= -1; complemento2A = true;
                A  = converter.complemento2(converter.InteiroParaBinario(tamanho, a));
            }
            else
            {
                A = converter.InteiroParaBinario(tamanho, a);
            }
            if (b < 0)
            {
                b *= -1; complemento2B = true;
                B  = converter.complemento2(converter.InteiroParaBinario(tamanho, b));
            }
            else
            {
                B = converter.InteiroParaBinario(tamanho, b);
            }

            if (f[2] & !f[1] & f[0]) //SE SUBTRAÇÃO
            {
                B = converter.complemento2(B);
            }


            bool overflowSoma;

            bool[] resultado = new bool[tamanho];

            if (tamanho == 8) //8 bits
            {
                UnidadeLogica8bits ula = new UnidadeLogica8bits();
                overflowSoma = ula.ULA8Bits(A, B, f, resultado);
            }
            else //24 bits
            {
                UnidadeLogica24bits ula = new UnidadeLogica24bits();
                overflowSoma = ula.ULA24Bits(A, B, f, resultado);
            }


            if (complemento2A || complemento2B)
            {
                resposta = converter.complemento2ParaDecimal(resultado);
            }
            else
            {
                resposta = converter.BinarioParaInteiro(resultado);
            }


            if (inverteu)
            {
                resposta *= -1;
            }

            return(resposta);
        }