Go Down

Topic: Détection de la virgule dans un float (Read 884 times) previous topic - next topic

Jean-François

Encore une de mes questions....  ;D

Est il possible de détecter la position de la virgule dans un float.

par exemple :

354.4809

La valeur retournée serait 4 (position depuis le début du nombre) ou 5 (position depuis la fin du nombre).
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

QNux

2 solutions : soit regarder la mantisse (exposant) du flottant (plus d'infos ici sur la représentation d'un flottant simple précision : http://en.wikipedia.org/wiki/Single_precision_floating-point_format )

Ou alors un algo simple :

soit x ton nombre, i la position de la virgule

[font=Courier New]i = 0
tant que x > 1
 x = x / 10.0
 i++
fin tant que

retourne i[/font]

Voilà !  ;)

-- QNux
 

Jean-François

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

fdufnews

#3
Jan 09, 2011, 06:13 pm Last Edit: Jan 09, 2011, 06:13 pm by fdufnews Reason: 1
La partie entière du log décimal d'un nombre permet de trouver la position de la virgule.

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy