¿Cuál es la diferencia entre punto fijo y punto flotante?
La diferencia entre punto fijo y punto flotante:
1. Diferencia de definición:
(1) En aritmética de punto fijo, los programadores siempre deben pagar. Preste atención a la aparición de desbordamiento. Para evitar el desbordamiento, continúe cambiando la escala o truncando. Los puntos fijos representan números específicos.
(2) El primero consume mucho tiempo y espacio, mientras que el segundo conlleva una pérdida de precisión. Por el contrario, la operación de punto flotante DSP amplía el rango dinámico, mejora la precisión, ahorra tiempo de operación y espacio de almacenamiento, porque las comprobaciones de escala, desplazamiento y desbordamiento se reducen considerablemente. El punto flotante no se puede expresar con precisión y requiere concesiones.
2. Diferencias de aplicación:
(1) Hardware: el procesador DSP de punto flotante tiene un multiplicador de punto flotante/entero, una unidad de operación lógica aritmética de entero/punto flotante ALU. y es adecuado para la expansión del almacenamiento. Registros de precisión para resultados de punto flotante, etc.
(2) Software: incluye principalmente las características y precauciones de la programación dsp de punto flotante; el dsp de punto fijo realiza operaciones de escala, cambio y detección de desbordamiento al realizar operaciones de punto flotante. Incluso si comparas dos números idénticos, es posible que todavía haya ligeras diferencias de redondeo.
Procesamiento de desbordamiento de números de punto flotante:
1. El desbordamiento de números de punto flotante se manifiesta por su desbordamiento de código. Durante la operación de suma o resta, es necesario verificar si se produce un desbordamiento. Si el código de exponente es normal, la operación de suma (resta) finaliza normalmente; si el código de exponente se desborda, se debe realizar el procesamiento correspondiente; Además, también es necesario solucionar el desbordamiento de la mantisa.
2. El código de exponente se desborda, que es un valor exponencial positivo que excede el valor máximo que el código de exponente puede representar. Generalmente se considera que es ∞ y -∞.
3. El código de exponente se desborda, que es un valor de índice negativo que excede el valor mínimo que el código de exponente puede representar. Generalmente se considera 0.
4. La mantisa se desborda. La suma de dos mantisas con el mismo signo produce un acarreo desde el bit más alto hacia arriba. La mantisa se desplaza hacia la derecha y el código exponente se incrementa en 1 para realinearlo.
5. Desbordamiento inferior de mantisa Al desplazar la mantisa hacia la derecha, la parte menos significativa de la mantisa fluye desde el extremo derecho del campo de mantisa y debe redondearse.
Referencia del contenido anterior: Enciclopedia Baidu - Números de punto fijo
Referencia del contenido anterior: Enciclopedia Baidu - Números de punto flotante