Los puntos flotantes se representan de manera diferente a los enteros en las computadoras. Mientras que los enteros se representan típicamente como un complemento de dos (voltear todos los bits y sumar 1), los puntos flotantes son más complicados. Lo representas en notación científica pero con base dos.
Para un punto flotante de 32 bits, tendrá un bit de signo (positivo o negativo), 8 bits de exponente (a qué potencia estamos elevando el número, esto puede ser positivo o negativo) y una mantisa de 23 bits, esto es el número antes de elevarlo al exponente. Debido a que los puntos flotantes se representan de esta manera, no podemos simplemente agregarlos con enteros. Los enteros primero se promueven a flotantes antes de un flotante y se puede agregar un int.
Además, debido a que tenemos 8 bits de exponente, podemos representar números mucho más grandes con puntos flotantes. Para un número entero de 32 bits, nuestro número más grande que podemos representar es 2 ^ 31 – 1. Para un flotante de 32 bits, podemos representar un número tan grande como 2 ^ 128 (porque tenemos 8 bits de exponente). Esencialmente, 8 bits pueden representar números del 0 al 255, pero en realidad hacemos el valor almacenado en el exponente menos 127 para que podamos almacenar valores entre 0 y 1 al tener un exponente negativo. Con dobles (puntos flotantes de 64 bits), el número máximo que podemos almacenar es aproximadamente 2 ^ 1024, que es aproximadamente 10 ^ 308). Esto se debe a que los dobles tienen 11 bits de exponente y 52 bits de mantisa
- ¿Cuándo crees que alcanzaremos la inteligencia general artificial?
- ¿Cómo se almacenan los datos ROOT en las bases de datos en LHC?
- ¿Cómo puedo entender los conceptos después de leerlos una o dos veces como máximo?
- ¿Cuáles son los mejores libros de Machine Learning?
- ¿Cuáles son algunos ejemplos de redes neuronales en Python?
Después de esto, es posible que se pregunte por qué no almacenamos todo en puntos flotantes, ya que podemos almacenar un mayor rango de números en el mismo número de bits. La aritmética de coma flotante es muy computacionalmente intensa y muchas CPU tienen aceleradores de coma flotante para acelerar el proceso tedioso.
Para responder a su pregunta, CPUS tiene esta unidad aceleradora porque la aritmética de coma flotante es mucho más intensa que la aritmética de enteros.