| limites d'un entier/réel sous panoramic | |
|
|
Auteur | Message |
---|
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: limites d'un entier/réel sous panoramic Sam 28 Aoû 2010 - 7:05 | |
| Bonjour ! Quelqu'un peut me renseigner sur les limites d'un entier sous panoramic? Je ne les trouve pas dans l'aide... Je voulais tester mon petit prog et je tombe sur une valeur négative (sur mon dernier appel de conversion) - Code:
-
dim conv$,base,DecN%,DecN$ label DecN conv$="0123456789ABCDEF"
DecN%=234:base=2 print "Conversion de ";DecN%;" en base ";base;" = "; gosub DecN: print DecN$
DecN%=74:base =8 print "Conversion de ";DecN%;" en base ";base;" = "; gosub DecN: print DecN$
DecN%=51966:base=16 print "Conversion de ";DecN%;" en base ";base;" = "; gosub DecN: print DecN$
DecN%=817:base =3 print "Conversion de ";DecN%;" en base ";base;" = "; gosub DecN: print DecN$
DecN%=3735928559:base =16 print "Conversion de ";DecN%;" en base ";base;" = "; gosub DecN: print DecN$
print "fini !" end
' ***************************************** ' * Conversion décimale en base N ' ***************************************** DecN: DecN$="" while DecN% > 0 if asc(inkey$)=27 then exit_while : ' ligne spéciale pour cosmos70 ;) if frac(DecN%/base)=0 DecN$="0"+DecN$ else DecN$= mid$(conv$,(DecN% - (int(DecN%/base)*base))+1,1)+DecN$ end_if DecN% = int(DecN%/base) end_while return
Edit : Bon, ben je crois trouvé la réponse : - Code:
-
dim a%,i% : height 0,screen_y - 50 memo 1:full_space 1 print_target_is 1 for i% = 0 to 31 a%= power(2,i%) print "i%:";i%;" a%:";a% next i% end
va falloir trouver une astuce pour les conversions... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: limites d'un entier/réel sous panoramic Sam 28 Aoû 2010 - 9:46 | |
| Les limites pour les entiers (32 bits) sont: -2 147 483 648 à 2 147 483 647 Les limites pour les flottants (32 bits) sont: -3.4*10^^-38 à 3.4*^^1038 | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: limites d'un entier/réel sous panoramic Mar 31 Aoû 2010 - 6:51 | |
| Ça me servira de leçon de vouloir utiliser des % de partout !... en voulant faire propre... C'est vrai que, comme le dis mr , une fonction modulo ne serait pas un luxe... quoique dans le cas présent, ce n'est pas trop grave, on arrive à s'en passer... Ca marche mieux comme ça : | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: limites d'un entier/réel sous panoramic Mar 31 Aoû 2010 - 8:57 | |
| Bien sûr, mais il y a un hic avec les flottants: bien que l'interval utilisable soit plus large, le nombre de chiffres significatifs est restraint. Wikipedia dir ceci: - Citation :
- Single precision, called "float" in the C language family, and "real" or "real*4" in Fortran. This is a binary format that occupies 32 bits (4 bytes) and its significand has a precision of 24 bits (about 7 decimal digits).
Alors, 7 chiffres significatifs, ce n'est vraiment pas beaucoup. | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: limites d'un entier/réel sous panoramic Mar 31 Aoû 2010 - 9:41 | |
| Bonjour Klaus, 7 chiffres significatifs ? Si tu prend mon exemple et que tu vires tout les % tu verras que ma dernière conversion (qui contient plus de 7 chiffres) fonctionne très bien... Je te cite : - Citation :
- Les limites pour les flottants (32 bits) sont:
-3.4*10^^-38 à 3.4*^^1038 ca fait plus de 7 chiffres... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: limites d'un entier/réel sous panoramic Mar 31 Aoû 2010 - 9:57 | |
| Alors, Panoramic utilise peut-être le format double précision. Wikipedia dit: - Citation :
- Double precision, called "double" in the C language family, and "double precision" or "real*8" in Fortran. This is a binary format that occupies 64 bits (8 bytes) and its significand has a precision of 53 bits (about 16 decimal digits).
. A vérifier... | |
|
| |
jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: limites d'un entier/réel sous panoramic Mar 31 Aoû 2010 - 10:19 | |
| Oui PANORAMIC utilise des réels double précision.
D'après mes tests les limites sont -2^1023 à 2^1023
Soit approximativement : -8.98846567431158e+307 à 8.98846567431158e+307 | |
|
| |
jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: limites d'un entier/réel sous panoramic Mar 31 Aoû 2010 - 11:23 | |
| Précision supplémentaire : le "machine epsilon" (c'est-à-dire la plus petite valeur telle que 1 + epsilon ait une représentation interne différente de 1) est égal à 2^(-48) : - Code:
-
dim i%, epsilon i% = 0 epsilon = 1 repeat epsilon = epsilon / 2 i% = i% - 1 until 1 + epsilon = 1 print "epsilon = ", epsilon print "soit 2^", i%
| |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: limites d'un entier/réel sous panoramic Mar 31 Aoû 2010 - 11:59 | |
| D'après ce que l'on voit, le nombre de chiffres significatifs est de 15. D'ailleurs, voici la preuve: - Code:
-
dim a, s$
s$ = "1.23456789012345" a = val(s$) print s$+" ="+str$(a) s$ = "1.234567890123456" a = val(s$) print s$+"="+str$(a)
end
on voir que le premier nombre est géré correctement, mais le second donne lieu à un arrondi sur le dernier chiffre. On a donc bien 15 chiffres significatifs, avec éventuellement un arrondi sur le dernier chiffre (et les précédents si le dernier ou les derniers sont des "9"). | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: limites d'un entier/réel sous panoramic Mer 1 Sep 2010 - 11:08 | |
| Une petite remarque, qui rejoint un peu l'opérateur unaire '-' : Panoramic n'accepte pas vraiment l'affectation d'une variable en notation scientifique.
si je fait : print 123 <-- ok
mais si je fait : print 1.23E2 <-- là ça passe pas... de même que : a=1.23E2 : print a
on est obligé de faire : a=val("1.23E2") : print a
| |
|
| |
Jack Admin
Nombre de messages : 2395 Date d'inscription : 28/05/2007
| Sujet: Re: limites d'un entier/réel sous panoramic Mer 1 Sep 2010 - 19:32 | |
| - Citation :
- Panoramic n'accepte pas vraiment l'affectation d'une variable en notation scientifique.
C'est parce que je voulais au départ que PANORAMIC soit simple, utilisable par tous, sans trop se poser de questions. Pour que monsieur Tout Le Monde puisse coder son application le dimanche. C'est pourquoi je n'ai jamais précisé non plus dans la documentation les limites de codage des entiers et des réels. Je voulais par exemple qu'on se limite au choix suivant sans trop se casser la tête: la variable n'aura jamais une valeur avec une virgule, on met % après le nom, la variable contiendra une valeur avec une virgule, on ne met pas % après le nom. Mais hélas, on est bien loin de toutes ces considérations. | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: limites d'un entier/réel sous panoramic Mer 1 Sep 2010 - 19:40 | |
| Merci Jack pour ces précisions. Le truc c'est qu'avec Panoramic on peut arriver à faire des trucs auquel tu n'aurais même pas pensé au départ ! Regarde ce que fait Klaus avec ses TAB, GLIST et FAM. On est bien loin du simple print dans un form... | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: limites d'un entier/réel sous panoramic Mer 1 Sep 2010 - 20:04 | |
| - Citation :
- C'est parce que je voulais au départ que PANORAMIC soit simple, utilisable par tous, sans trop se poser de questions. Pour que monsieur Tout Le Monde puisse coder son application le dimanche............
Mais hélas, on est bien loin de toutes ces considérations. Ben, pas moi! EDIT: Je suis un programmeur du Dimanche, alors ne regrette rien... | |
|
| |
Invité Invité
| Sujet: Re: limites d'un entier/réel sous panoramic Mer 1 Sep 2010 - 23:08 | |
| Même si parfois je vais dans les complications, je tiens aussi que Panoramic reste simple.
J'arrive parfois à faire des choses compliquées avec des choses simples, parce que justement j'arrive à comprendre. Si dès le départ les choses sont compliquées, pas très compréhensibles, il y a de très fortes chances que je reste bloqué.
Par contre je ne suis pas contre l'information dans les détails, pour ceux qui en ont besoin. Cela est un complément pour éviter de "patauger", à faire des recherches. L'information ne nuit pas si il y a déjà au départ une information simple pour le programmeur du dimanche ( et quand je peux ) que je suis. |
|
| |
Contenu sponsorisé
| Sujet: Re: limites d'un entier/réel sous panoramic | |
| |
|
| |
| limites d'un entier/réel sous panoramic | |
|