Fórum Extrair mantissa e exponente de um float #212215
06/02/2004
0
Eu precisava saber a lógica disso também, se fosse possível.
Valeu.
Beppe
Curtir tópico
+ 0Posts
07/02/2004
Beppe
Acabei escrevendo isto, pra testar:
procedure DissectSingle(Value: Single; out Mantissa, Exponent: Cardinal; out Signed: Boolean); const TwentyThreeOnes = 8388607; EightOnes = 255; var Bytes: Cardinal absolute Value; begin Mantissa := Bytes and TwentyThreeOnes; Bytes := Bytes shr 23; Exponent := Bytes and EightOnes; Bytes := Bytes shr 8; Signed := Bytes <> 0; end; function BuildSingle(Mantissa, Exponent: Cardinal; Signed: Boolean): Single; var Bytes: Cardinal absolute Result; begin Bytes := Cardinal(Signed) shl 31 or Exponent shl 23 or Mantissa; end;
T+
Gostei + 0
24/02/2004
Beppe
Sua ajuda anterior já tinha sido grandiosamente útil, pois precisa trabalhar com floats binariamente(conversão de e para string).
T+
Gostei + 0
25/02/2004
Macario
ou onde encontro algum artigo sobre o assunto?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)