1. No todos los números de coma flotante pueden representarse exactamente en forma de potencia de 2.
es decir, tome 0.2 por ejemplo, por simple que parezca representar en forma decimal, su forma binaria no lo es.
0.2 => 1/5
aquí el denominador es primo y la fracción no puede formarse exactamente por potencias negativas de 2.
- ¿Debo estudiar Ingeniería informática o CS?
- ¿Debo usar Visual Studio como estudiante de informática con fines educativos? ¿Usar las tecnologías de Microsoft me ayudará a ser un mejor desarrollador / ingeniero / informático?
- ¿Es una carrera en ingeniería informática adecuada para mí?
- ¿Cómo puede un niño de 13 años comenzar a aprender sobre circuitos y electrónica y cómo hacerlos?
- ¿Por qué alguien tendría una placa base con doble CPU?
2. Estos valores se representan como recurrentes.
es decir, 0.2 => 0.00110011 … (0011).
3. Flotador y doble tienen precisión diferente. La precisión de Double es más que flotante y puede representar decimal hasta más número de dígitos.
entonces, el mismo número recurrente aumentará a más número de bits en caso de doble que flotante.
y esto cambia su valor para doble y flotante,
0.00110011 (flotante)! = (no igual a) 0.0011001100110011 (doble).
4. En su pregunta 1.4 (variable f) es flotante, sin embargo, por defecto, el número con el que estamos comparando es un doble en el enunciado.
es decir, si (( flotante) f == (doble) 1.4 )
Si
LHS tiene menos precisión y se redondeará con menos bits después del decimal
RHS tiene mayor precisión y se redondeará con más número de bits después del decimal.
Por lo tanto, flotador 1.4! = doble 1.4 aquí.
5. Este no es el caso donde no ocurre la recurrencia en la representación binaria O el decimal se puede representar dentro de la precisión más baja de dos tipos de datos.
es decir, por ejemplo 0.5 puede representarse como 1/2 ===> 0.1 (binario)
entonces (flotante) 0.5 == (es igual que) (doble) 0.5
y su programa no imprimirá “sí” en este caso.