Pages: [1]   Go Down
Author Topic: Utili info sui float  (Read 476 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10112
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Visto che ogni tanto capita qualcuno che si incasina sulle uguaglianze con i float, linko questo bell'articolo sui motivi e le soluzioni
http://altdevblogaday.com/2012/02/22/comparing-floating-point-numbers-2012-edition/
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
God Member
*****
Karma: 5
Posts: 873
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

thks, pero' io uso il fixed point a 32 e 64bit perche' alla fine se non hai i fpu i float sono solo lenterrimi. Anche da sintetizzare o da emulare il float non e' uno scherzo, pero' l'articolo merita e me lo metto via per quando avro' dell'hw serio con una fpu vera e non i soliti pastrocchi che mi tocca fare o con la sola alu o al piu' con il dsp-engine dei dspic di microchip (piccolo supporto hw al fixedpoint).
« Last Edit: March 11, 2012, 07:36:00 pm by legacy » Logged

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10112
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

conosci qualche libreria fixed-point per l'arduino? linkala!!!
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
God Member
*****
Karma: 5
Posts: 873
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mannaggia non ne conosco per arduino. In tesi me le ero scritte prendendo spunto da diversi APP note di Microchip. Purtroppo il dsPIC30F che avevo a disposizione aveva un problema con il supporto fractional e non ho potuto usarlo, quindi mi sono dovuto accontentare del fixedpoint fatto a mano, e alla fine ti diro', io avevo algoritmi molto molto semplici, anche poco onerosi da "portare" da float  a fixed point, e se non ti scoccia dover scomporre le operazioni, operatore per operatore (es c=add(a,b), c=sub(a,b) .... invece di c=a+b, c=a-b) puoi anche usare delle banali define per ridefinire le 4 operazioni e fissarti tu dove mettee la virgola, quanti bit nei tuoi 32bit che hai a disposizione. Devi tenere d'occhio l'overflow e anche l'underflow.
Logged

Offline Offline
God Member
*****
Karma: 5
Posts: 873
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

p.s.
Sto implementando una softfloat e ho problemi, ma tanti, in questo momento ho problemi persino ad implementare float floor(foat x) per la parte intera della IEEE 754 binary floating point representation.
Il floating point e' veramente oneroso. Almeno per me.
Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 104
Posts: 6617
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non è più semplice usare uno di questi?
--> http://www.robot-italy.com/product_info.php?products_id=901
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Offline Offline
God Member
*****
Karma: 5
Posts: 873
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non lo posso fare per diversi motivi. E poi l'hw che ho in mano non ha fpu pero' la sua alu e' capace di completare in 2 colpi di clock una delle operazioni che le assegno, e immagina che quell'affare abbia clock di 600Mhz, quante operazioni faccio al secondo ?

300.000.000 di operazioni al secondo, mostro bestio, eh smiley-mr-green ?

pero' di contro ho il problema del fixed point. Se avessi a disposizione il C++ potrei forzare un overload delle operazioni mattematiche {+,-,*,/} per avere piu' comodita' nello scrivere le espressioni, pero' mi va di super sfiga e posso usare solo il C. Solitamente nell'embedded il C++ e' un lusso concesso a pochi, quindi bene o male capitera' ancora di dover fare cose simili, e mi porto avanti.
« Last Edit: March 12, 2012, 07:22:18 pm by legacy » Logged

Offline Offline
God Member
*****
Karma: 5
Posts: 873
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

p.s.
nell'oggettino che hai linkato c'e' dentro un pic  smiley-mr-green
« Last Edit: March 12, 2012, 07:06:30 pm by legacy » Logged

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10112
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non è più semplice usare uno di questi?
--> http://www.robot-italy.com/product_info.php?products_id=901

quanto ci metti a fare le operazioni e quanto ci metti a trasmetterle? l'uso di un affarino del genere è molto dipendente da quello che vuoi fare.
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Pages: [1]   Go Up
Jump to: