Aller au contenu

Précision


Tramber

Messages recommandés

LUPREC à fond,

Les unités du dessin à plein de chiffres après la virgule,

 

 

pourquoi

(atan (/ (/ 300.00000000021 2) 790.0000000021))

 

ne me renvoie que 5 malheureux chiffres significatifs :( :question:

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

bonsoir Tramber

 

il ne faut pas confondre ce qu'AutoLisp renvoie

et ce qu'il utilise réellement pour ses calculs,

il est un peu fainéant au niveau de l'affichage.

si tu veux de la précision, il peut t'en apporter.

si par exemple tu multiplies ton résultat par un chiffre immense,

tu t'apercevras qu'il avait de la réserve côté virgule flottante.

amicalement

 

 

Lien vers le commentaire
Partager sur d’autres sites

Tramber et Patrick,

 

Ni l'un ni l'autre. LUPREC et AUPREC sont 2 variables concernant la commande UNITES (_UNITS) donc l'affichage dans la barre de statut, la commande LISTE (_LIST) , etc.

 

Lorsqu'on utilise des expressions en Lisp, ça ne regarde que le Lisp. Il y a quelque chose de non évident pour quelqu'un qui débute en Lisp. Il ne faut pas confondre la valeur affichée sur la console et la valeur conservée en mémoire.

 

De la version 2.18 à R11, AutoLisp affichait sur la console et conservait les nombres réels en simple précision (7 chiffres significatifs). Jusque là, ça allait bien.

 

En R12, AutoLISP a commencé à ne traiter que la double précision à l'interne mais à afficher toujours la simple précision sur la console.

 

Petite démonstration:

Commande: (rtos pi 2 14)

"3.14159265358979"

 

Commande: !pi

3.14159

 

Dans le premier cas, on voit que PI vallait bien .3.14159265358979 avant d'être converti en chaine. Dans le 2ième cas, c'est le même nombre qui est amputé à l'affichage.

 

Indépendemment ce cela, lorsque vous convertissez des nombres réels en chaine, méfiez vous de DIMZIN qui tronque les zéros si fixée à 8, sa valeur par défaut. Il faudrait prendre l'habitude de faire:

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Sauvegarde

(setq oldDimzin (getvar "dimzin"))

 

; Afficher tous les zéros

(setvar "dimzin" 0)

 

; Convertir le nombre en chaine, format décimal, 14 chiffres significatifs

(setq anything (rtos value 2 14))

 

; Restaure

(setvar "dimzin" oldDimzin")

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

Et dernière précision, les 2 derniers paramètres de rtos équivalent lunits et luprec.

 

Serge

Lien vers le commentaire
Partager sur d’autres sites

re bonsoir Tramber

 

et puis il ne faut pas attendre que des chiffres à x décimales

( mais non pas des six mâles )

il arrive que les valeurs naturelles de certains angles,

soient des chiffres à quatre décimales, un point c'est tout.

compare avec une calculette,

je n'ai pas la mienne sous la main, désolé

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité