32 bit a 16 bits Conversão de ponto flutuante
Ao trabalhar com a largura de banda de rede limitada, a conversão de números de ponto flutuante de 32 bits a 16 bits pode ser benéfico para a redução do tamanho. Aqui está um exemplo de uma função da biblioteca C que pode executar esta conversão:
template esta função, Quick_Encode_FLT16, executa uma conversão rápida sem arredondamento. Para uma conversão mais precisa com suporte de arredondamento, você pode usar a seguinte função:
template< typename F >
auto encode_flt16( F && value )
{ return flt16_encoder::encode< true >( std::forward< F >( value ) ); }
Para decodificar o número do ponto flutuante de 16 bits convertido de volta ao formato original de 32 ou 64 bits, use a função decode_flt16:
template< typename F = float, typename X >
auto decode_flt16( X && value )
{ return flt16_encoder::decode< F >( std::forward< X >( value ) ); }
Essas funções fornecem uma maneira conveniente de converter entre números de ponto flutuante de 32 e 16 bits, permitindo compactar seus dados para transmissão de rede sem comprometer a precisão tanto quanto nos formatos de ponto fixo.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3