Jump to content
ELFORUM - Forumul electronistilor

Caut un fisier Excel ce converteste din zecimal in Q15


Recommended Posts

  • Replies 8
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

M-am uitat pe net, dar din pacate am gasit doar conversii catre hex pe 32 de caractere.

Am facut empiric, uitandu-ma la definitia lui Q15 de pe wiki (http://en.wikipedia.org/wiki/Q_(number_format)).

Am iesit ceva, (destul de ciobanesc) , dar care verifica cele 2 exemple pe care le-ati dat.

Ar trebui verificat pe un set de date mai mare ca sa fie sigur.

 

In exemplu meu valoare in excel este stocata in celula B2.

Formula de conversie este :

 

="0x"& DEC2HEX(IF(INT(B2*32768) <0;INT(B2*32768)+65536;INT(B2*32768));4)

 

Conform a ce scrie pe wiki :

- inmultesc valoarea decimala cu 2 la puterea 15 (Q15)

- rotunjesc la intregul apropiat ( INT() )

- daca valoarea este negativa 65536 , (este 2 la puterea 16 l-am pus dupa nas :( )

- rezultatul intreg i-l convertesc la HEX pe 4 caractere

- pun in fata "0x" ca sa fie frumos

 

Sper sa va folosesca nu-i f stiintific facuta , mai trebuie verificata.

Link to comment

Pe acelasi site :

 

http://www.excelforum.com/excel-program ... ation.html postul #13

 

Sunt multe functii de conversie , am incercat functia Sng2Hex dar care intoarce un HEX pe 32 de biti, si la valorile pe care le-ati dat ca exemplu intorc :

 

?Sng2Hex(-0.3387451171875000E-02) -> BB5E0000

?Sng2Hex(+0.3906250000000000E-02) -> 3B800000

 

Care nu prea pusca cu ce aveti nevoie.

Am incercat mai multe functii din aceasta colectie dar nici una nu a dat rezultatele dorite.

Link to comment

Este exact asa cum a spus awy1917

 

Inmulteste cu 32768 inainte de conversie si convertesti numai partea intreaga.

 

Exemplu

+0.3906250000000000E-02*32768=128 zecimal, care este 0x80.

 

eu folosesc

= ".word " & "0x" & RIGHT(DEC2HEX($O$7*L10,4),4)
Ca sa definesc coeficientii filtrului, cu valoarea zecimala in casuta L10 si 32768 in casuta O7.
Link to comment

Meseriasi mai sunteti :aplauze Era cumplit sa import din Matlab fiecare valoareca sa fac acel fisier ftb.s. Lucram si cu programul acela facut in Visual C++ 6.0si cu MATLAB si apoi importare in ftb.s fiecare valoare luata la mana. Acumlucrez doar cu "banalul" EXCEL si valorile calculate le import in ftb.s si aproape gata filtrul. :aplauze Va multumesc foarte mult **** :101 :dans:

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines