La diferencia entre abs y fbs en lenguaje C
ABS es una función de valor absoluto, el tipo de parámetro de entrada de la función fabs es un número entero y el tipo de parámetro de entrada de la función FABS es un punto flotante.
2. Los tipos de parámetros de salida son diferentes:
El tipo de parámetro de salida de la función ABS es entero y el tipo de parámetro de salida de la función ABS es punto flotante.
3. Diferentes funciones:
La función fabs es encontrar el valor absoluto del número de punto flotante x, y la función abs es encontrar el valor absoluto del número entero.
4. Los archivos de encabezado a los que se hace referencia son diferentes:
El archivo de encabezado al que hace referencia la función abs es stdlib.h y el archivo de encabezado al que hace referencia la función fabs es math.h
Datos extendidos:
Aplicación de la función fbs;
Este método puede filtrar la señal de muestreo a través del juicio del programa. Si el sensor es inestable debido a interferencias aleatorias frecuentes, causará una grave distorsión.
El método es el siguiente: según la experiencia de producción, determine la desviación máxima permitida Δ× valor de dos muestreos cruzados. Si el valor de resta de dos señales de muestreo consecutivas es mayor que △ ×, indica que la entrada es una señal de interferencia y debe eliminarse el último valor de muestreo como el valor de muestreo actual; Si es menor o igual a △×, significa que no se ve afectado y que el valor de muestreo actual es válido. Este método es adecuado para sistemas de medición que toman muestras de parámetros físicos que cambian lentamente, como temperatura, ubicación física, etc.
La función del programa C del filtrado de juicio del programa es la siguiente:
Filtro de detección de programa de punto flotante (valor antiguo de punto flotante, valor nuevo [], X de punto flotante) {
Valor_muestra de punto flotante
if(fabs(valor_nuevo_antiguo[1]_valor_nuevo_antiguo[0])gt;x) valor de muestra = valor antiguo valor_nuevo[0]
De lo contrario, valor_muestra = old_new_value[1];
retrun(sample value);
}
Función La llamada requiere una matriz binaria unidimensional (old_new_value[2]) para almacenar el último valor muestreado (old_new_value[0],) y el valor muestreado actual (old_new_value[1]), donde sample_value en la función representa el valor muestreado válido x representa la desviación máxima permitida de dos muestras determinada empíricamente.
Enciclopedia Baidu-ABS
Enciclopedia Baidu-Función fabulosa