32 bit a 16 bits Conversión de puntos flotantes
cuando se trabaja con ancho de banda de red limitado, que se convierte de los números de puntos flotantes de 32 bits a 16 bits pueden ser beneficiosos para reducción del tamaño de datos. Aquí hay un ejemplo de una función de biblioteca C que puede realizar esta conversión:
template Esta función, Quick_ENCODE_FLT16, realiza una conversión rápida sin redondear. Para una conversión más precisa con el soporte de redondeo, puede usar la siguiente función:
template< typename F >
auto encode_flt16( F && value )
{ return flt16_encoder::encode< true >( std::forward< F >( value ) ); }
para decodificar el número de punto flotante de 16 bits convertido de regreso a la plantilla original de 32 bits o 64 bits, use la función Decode_flt16:
template< typename F = float, typename X >
auto decode_flt16( X && value )
{ return flt16_encoder::decode< F >( std::forward< X >( value ) ); }
Estas funciones proporcionan una forma conveniente de convertir entre números de puntos flotantes de 32 bits y 16 bits, lo que le permite comprimir sus datos para la transmisión de la red sin comprometer la precisión tanto como con los formatos de punto fijo.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3