Dissecando um Float

Neste exercício, você colocará em prática alguns conhecimentos de representação de números racionais em um computador digital de acordo com a norma IEEE-754.

Para este problema, você deve implementar um programa que leia um número racional e imprima as três informações usadas para representá-los de forma binária: - o sinal; - o expoente; - o significando/mantissa.

Parta do princípio que apenas números (float, precisão simples) serão apresentados como entrada de sua aplicação. Lembre-se da possibilidade de serem apresentados símbolos especiais de acordo com a norma IEEE-754: inf e nan

Como saída, espera-se a impressão de quatro linhas:

  1. o número que foi lido (um float em precisão simples);
  2. um caractere de sinal: 2.1 ‘+’ para sinal positivo; 2.2 ‘-’ para sinal negativo;
  3. o valor do expoente da base 2 com a remoção do bias (127); 3.1 lembre-se que a codificação binária do expoente da base 2 leva em consideração representação em excesso;
  4. uma palavra hexadecimal com os bits do significando/mantissa.

Entrada

Um número racional ff (float em precisão simples).

Saída

4 linhas: - ff; - sinal de ff; - expoente da base binária sem bias; - significando/mantissa em hexadecimal.

Exemplo de Entrada

0

Exemplo de Saída

0.00000000
+
-127
0x00000000

Exemplo de Entrada

1

Exemplo de Saída

1.00000000
+
0
0x00000000

Exemplo de Entrada

-100

Exemplo de Saída

-100.00000000
-
6
0x00480000

Exemplo de Entrada

inf

Exemplo de Saída

inf
+
128
0x00000000

Exemplo de Entrada

19.2

Exemplo de Saída

19.20000076
+
4
0x0019999A