O algoritmo de conversão será:
{
string binary = "";
// Buscar a parte integral do número decimal
int Integral = num;
// Busque o número decimal da parte fracionária
fração dupla = num - Integral;
// Conversão da parte integral para
// binário equivalente
while (Integral)
{
int rem = Integral% 2;
// Anexar 0 em binário
binary.push_back (rem + '0');
Integral / = 2;
}
// Reverse string para obter o binário original
// equivalente
reverse (binary.begin (), binary.end ());
// Anexar ponto antes da conversão de
// partes fracionadas
binary.push_back ('.');
// Conversão da parte fracionária para
// binário equivalente
while (k_prec--)
{
// Encontre o próximo bit na fração
fracionário * = 2;
int fract_bit = fracionário;
if (fract_bit == 1)
{
fracionário - = fract_bit;
binary.push_back (1 + '0');
}
outro
binary.push_back (0 + '0');
}
retorno binário;
}
O algoritmo de conversão será:
{
string binary = "";
// Buscar a parte integral do número decimal
int Integral = num;
// Busque o número decimal da parte fracionária
fração dupla = num - Integral;
// Conversão da parte integral para
// binário equivalente
while (Integral)
{
int rem = Integral% 2;
// Anexar 0 em binário
binary.push_back (rem + '0');
Integral / = 2;
}
// Reverse string para obter o binário original
// equivalente
reverse (binary.begin (), binary.end ());
// Anexar ponto antes da conversão de
// partes fracionadas
binary.push_back ('.');
// Conversão da parte fracionária para
// binário equivalente
while (k_prec--)
{
// Encontre o próximo bit na fração
fracionário * = 2;
int fract_bit = fracionário;
if (fract_bit == 1)
{
fracionário - = fract_bit;
binary.push_back (1 + '0');
}
outro
binary.push_back (0 + '0');
}
retorno binário;
}
Para escrever sua resposta aqui, entre ou crie uma conta
Laboratório de Circuitos Digitais
•UNIASSELVI
Compartilhar