BASIC
Modérateur : Politburo
BASIC
Bonjour,
Hier, je me suis un peu amusé sur l'Hector que j'avais acheté sur le site. J'ai été un peu surpris par la précision de calcul du BASIC. Il semblerait qu'il n'y ai que 5 chiffres! 1000000 s'affiche 1E6.
J'imagine que la représentation en mémoire est la même chose.
Ca devient assez compliqué de faire le moindre programme mathématique.
Y aurait il un truc que j'aurais loupé?
Ben
Hier, je me suis un peu amusé sur l'Hector que j'avais acheté sur le site. J'ai été un peu surpris par la précision de calcul du BASIC. Il semblerait qu'il n'y ai que 5 chiffres! 1000000 s'affiche 1E6.
J'imagine que la représentation en mémoire est la même chose.
Ca devient assez compliqué de faire le moindre programme mathématique.
Y aurait il un truc que j'aurais loupé?
Ben
- Fabrice Montupet
- Administrateur
- Messages : 11115
- Enregistré le : 17 mai 2002 11:39
- Localisation : Nevers - France
Re: BASIC
Cela me rappelle un test en Basic fait par la revue Hebdogiciel sur différents micro-ordinateurs de l'époque:
Et voici les résultats par appareil:
TEXAS TI-99 : 1.999999924
EXELVISION : 1.999999924
CANON X07 : 1.9999997741097
CANON V20 MSX : 1.99999977
YASHICA MSX : 1.99999977
AMSTRAD : 1.999433
ATARI 800 XL : 1.99755243
ZX 81 : 2.000445
SPECTRUM : 2.000445
APPLE IIe : 2.00232917
APPLE IIc : 2.0023291
COMMODORE 64 : 2. 00232917
ORIC ATMOS : 2.00232917
VIC 20 : 2.00232917
THOMSON MO5, TO7, TO7-70 : 2.16828
TANDY TRS-80 : 2.16828
HECTOR HRX : 2.16927
Le résultat doit normalement être 2 mais nos chères machines donnent un résultat faux. Le TI-99/4A, et l'EXL-100 s'en sortent plutôt bien: ils arrivent en tête avec un résultat de 1.999999924. La raison en est simple, pour des raisons d'économies de mémoire et de vitesse, le système conservait un nombre plus ou moins limité de décimales. Les calculs arithmétiques sont réalisés avec une précision de 14 chiffres sur le TI-99/4A et l'EXL100, contre 8 chiffres pour la plupart des autres micro-ordinateurs, voir moins comme pour le HRX. Ce qui explique la chose.
Code : Tout sélectionner
20 FOR N=1 TO 20
30 A=SQR(A)
40 NEXT N
50 FOR N=1 TO 20
60 A=A^2
70 NEXT N
80 PRINT A
TEXAS TI-99 : 1.999999924
EXELVISION : 1.999999924
CANON X07 : 1.9999997741097
CANON V20 MSX : 1.99999977
YASHICA MSX : 1.99999977
AMSTRAD : 1.999433
ATARI 800 XL : 1.99755243
ZX 81 : 2.000445
SPECTRUM : 2.000445
APPLE IIe : 2.00232917
APPLE IIc : 2.0023291
COMMODORE 64 : 2. 00232917
ORIC ATMOS : 2.00232917
VIC 20 : 2.00232917
THOMSON MO5, TO7, TO7-70 : 2.16828
TANDY TRS-80 : 2.16828
HECTOR HRX : 2.16927
Le résultat doit normalement être 2 mais nos chères machines donnent un résultat faux. Le TI-99/4A, et l'EXL-100 s'en sortent plutôt bien: ils arrivent en tête avec un résultat de 1.999999924. La raison en est simple, pour des raisons d'économies de mémoire et de vitesse, le système conservait un nombre plus ou moins limité de décimales. Les calculs arithmétiques sont réalisés avec une précision de 14 chiffres sur le TI-99/4A et l'EXL100, contre 8 chiffres pour la plupart des autres micro-ordinateurs, voir moins comme pour le HRX. Ce qui explique la chose.
- gege
- Fonctionne à 14400 bauds
- Messages : 7148
- Enregistré le : 31 janv. 2008 14:24
- Localisation : Banlieue Paârisienne
- Contact :
Re: BASIC
Bonjour,
Désolé de pirater ce fil, mais voici qui laisse songeur :
HP Prime : 1.9999852246 !!
SR-50A : 1.999994716 !!!
TI-60 : 1.999997827
Lexibook GC2000 : 1.999999993453059
Facit C390 : 1.9999997242354
Casio Graph85 : 2.000000000401 mais on sait qu'elle "triche"...
Siemens IC35 : 2.0000000003
G.E.
Désolé de pirater ce fil, mais voici qui laisse songeur :
HP Prime : 1.9999852246 !!
SR-50A : 1.999994716 !!!
TI-60 : 1.999997827
Lexibook GC2000 : 1.999999993453059
Facit C390 : 1.9999997242354
Casio Graph85 : 2.000000000401 mais on sait qu'elle "triche"...
Siemens IC35 : 2.0000000003
G.E.
Modifié en dernier par gege le 31 juil. 2017 21:21, modifié 4 fois.
- zpalm
- Fonctionne à 9600 bauds
- Messages : 2936
- Enregistré le : 03 mai 2008 15:33
- Localisation : Grenoble
Re: BASIC
Normal, les algorithmes de calcul de la 48 qui viennent du HP 71B, la première machine avec un processeur Saturn, ont été recodés en C pour les HP modernes (20b, 30b, 39gii, Prime...).
Le 71B donne le même résultat que la Prime.
source: post #10 ici.Thus later cyrille spent a long time remaking the math libraries in platform independent C by going back to the original assembly, using the documentation and source to redo it it, and that math library has now been used in several software versions (like the 12cp on iphone and the calcpad PC software), in the 20/30b and will be in future calculators/software.
Re: BASIC
On est complètement HS!gege a écrit : ↑31 juil. 2017 20:59 Bonjour,
Désolé de pirater ce fil, mais voici qui laisse songeur :
HP Prime : 1.9999852246 !!
SR-50A : 1.999994716 !!!
TI-60 : 1.999997827
Lexibook GC2000 : 1.999999993453059
Facit C390 : 1.9999997242354
Casio Graph85 : 2.000000000401 mais on sait qu'elle "triche"...
Siemens IC35 : 2.0000000003
G.E.
L'émulateur HP-67 que j'ai trouve 2,000000000!
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3422
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: BASIC
Je sais pas comment vous utilisez vos HP prime, mais la mienne retourne 2 ?
Et mon HP-28S 2.0000
Et mon HP-28S 2.0000
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
- bernouilli92
- Fonctionne à 14400 bauds
- Messages : 5270
- Enregistré le : 21 nov. 2012 13:03
- Localisation : Ile de France
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3422
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: BASIC
Ben oui, je fais exprès, elle affiche en réalité exactement la même valeur que les autres HP en mode approché 1.9999852246
Ma question était, est-ce que les autres calculettes sont aussi capables de donner le bon résultat en utilisant un subterfuge du même style, voir plus simple ?
Par exemple, sur l' HP Prime, il suffit de faire le calcul dans le CAS. ON peut alors aller à beaucoup beaucoup plus que 20 itérations; Tous les calcules sont fait sans aucune approximation (mais dans la limite de la mémoire de l'engin).
(obtenu directement en pressant la touche ENTER autant de fois qu'il y a d'itérations)
*
Ma question était, est-ce que les autres calculettes sont aussi capables de donner le bon résultat en utilisant un subterfuge du même style, voir plus simple ?
Par exemple, sur l' HP Prime, il suffit de faire le calcul dans le CAS. ON peut alors aller à beaucoup beaucoup plus que 20 itérations; Tous les calcules sont fait sans aucune approximation (mais dans la limite de la mémoire de l'engin).
Code : Tout sélectionner
2[ENTER] 2
Vans V2 2^(1/4) 2^(1/8) 2^(1/16) ... 2^(1/1048576)
ans² 2^(1/524288) 2^(262144) ... 2^(1/4) V2 2
*
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
- Professeur_Octopus
- Fonctionne à 1200 bauds
- Messages : 882
- Enregistré le : 17 oct. 2003 23:38
- Localisation : Ormeignies Hainaut (Belgique)
- Contact :
Re: BASIC
Salut tout le monde
('chuis méchant mais je l'aime bien quand même moi la vcs )
A bientôt,
Octopus, poulpe cosmique
La VCS2600 avec la cartouche basic programming ?kenneth a écrit :quelqu'un a une idee sur le nom de la machine qui donne le resultat le plus pourave?
je me souviens d'un score immonde genre 1,7 mais je me souviens plus de l'ordi...
('chuis méchant mais je l'aime bien quand même moi la vcs )
A bientôt,
Octopus, poulpe cosmique
- bernouilli92
- Fonctionne à 14400 bauds
- Messages : 5270
- Enregistré le : 21 nov. 2012 13:03
- Localisation : Ile de France
Re: BASIC
Je pense que la Sinclair scientific doit donner un résultat vraiment pourri. Je testerai et vous dirai.
Ce ne m'étonnerait même pas qu'elle donne 1 comme résultat.
HP, Casio, Sharp, Psion, quelques TI et divers autres
Re: BASIC
1.9977935 avec ma CASIO FX-48 de 1978. Bon c'est pas terrible, mais d'un autre côté, enfoncer la touche racine 20 fois et vouloir retrouver le nombre de départ exact, c'est un peu sévère quand même non ? C'est pas tous les jours qu'on a besoin d'extraire des racines xxxémes . D'ailleurs quand je vois le peu de chiffres qui restent à l'affichage après avoir appuyé 20 fois, je trouve assez épatant de retrouver une valeur aussi bonne à la fin ...
a +
a +
Dominique
- gege
- Fonctionne à 14400 bauds
- Messages : 7148
- Enregistré le : 31 janv. 2008 14:24
- Localisation : Banlieue Paârisienne
- Contact :
Re: BASIC
Bonjour,
1,6889469 avec la Corvus 650, l'Unitrex UC35 et la Microlith Scientific !
La Casio fx-201P donne 1,997780814, wow quelle machine magnifique, une expérience tactile ! (euh je m'égare un peu...)
En tapotant un programme qui arrondit à N chiffres à chaque étape, j'obtiens :
N=8 : 1,9977935
N=9 : 1.999897829
N=10 : 2.0001271359
On retrouve presque des autres résultats...
Ça y est on a complètement détourné ce fil !
All you fils are belong to us !!!
G.E.
P.S. : Citizen SR-29 : 1.9768349 bizarre
1,6889469 avec la Corvus 650, l'Unitrex UC35 et la Microlith Scientific !
La Casio fx-201P donne 1,997780814, wow quelle machine magnifique, une expérience tactile ! (euh je m'égare un peu...)
En tapotant un programme qui arrondit à N chiffres à chaque étape, j'obtiens :
N=8 : 1,9977935
N=9 : 1.999897829
N=10 : 2.0001271359
On retrouve presque des autres résultats...
Ça y est on a complètement détourné ce fil !
All you fils are belong to us !!!
G.E.
P.S. : Citizen SR-29 : 1.9768349 bizarre
Modifié en dernier par gege le 08 août 2017 19:02, modifié 1 fois.