Convertire 4 char in un Float

11 Anni 3 Mesi fa - 11 Anni 3 Mesi fa #1 da StefA
Convertire 4 char in un Float è stato creato da StefA

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • StefA
  • Avatar di StefA
  • Moderator
  • Moderator
Di più
11 Anni 3 Mesi fa - 11 Anni 3 Mesi fa #2 da shinshi
Risposta da shinshi al topic Convertire 4 char in un Float
Forse dico una sciocchezza:
Fai il casting della char più significativa
Moltiplichi per 256
fai il casting della seconda char più significativa
Sommi alla prima flot
Moltiplichi per 256...
e così via.
Saluti
Luca
Ultima Modifica 11 Anni 3 Mesi fa da StefA.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • shinshi
  • Avatar di shinshi
  • Elite Member
  • Elite Member
Di più
11 Anni 3 Mesi fa - 11 Anni 3 Mesi fa #3 da StefA
Risposta da StefA al topic Convertire 4 char in un Float

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • StefA
  • Avatar di StefA
  • Moderator
  • Moderator
Di più
11 Anni 3 Mesi fa - 11 Anni 3 Mesi fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Convertire 4 char in un Float
Ciao,

per come e' organizzato un float fare uno shift non ha molto senso.
Infatti hai una mantissa ed esponente e traslare causerebbe problemi se si facesse uno shift nel senso stretto della parola. Questo pero' non toglie che un compilatore possa supportare uno shift per float.
Nel caso di float e' forse meglio effettuare la moltiplicazione per la potenza di due necessaria.
In questo modo sei indipendente dal compilatore.

Non ho ben capito se i 4 bytes sono una parte di un unico numero.
In qual caso quello che farei e' lavorare con un intero long.
E fare tutte le operazioni sullo stesso. Una volta compattati i 4 bytes effettuerei un cast per la conversione in float.

Saluti,

Mauro
Ultima Modifica 11 Anni 3 Mesi fa da StefA.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
11 Anni 3 Mesi fa - 11 Anni 3 Mesi fa #5 da shinshi
Risposta da shinshi al topic Convertire 4 char in un Float
@StefA
Più o meno intendevo come dici tu, a patto che dato1 sia il dato più significativo. Però una cosa che vorrei chiederti è come hai ottenuto i 4 byte, perchè mi viene in mente che anche questo sarebbe da tenere in considerazione. Faccio un esempio usando la calcolatrice di windows:
Converto in binario 4,3e7 = 00000010 10010000 00100000 11000000

dato1 = 00000010 = 2 più significativo
dato2 = 10010000 = 144
dato3 = 00100000 = 32
dato4 = 11000000 = 192 meno significativo

2*256=512
(512+144)*256=167936
(167936+32)*256=42999808
(42999808+192)=43000000 Con la calcolatrice funziona. 4,3e7
Ultima Modifica 11 Anni 3 Mesi fa da StefA.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • shinshi
  • Avatar di shinshi
  • Elite Member
  • Elite Member
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login