Trouver une machine binaire
Modérateur : Politburo
- gege
- Fonctionne à 14400 bauds
- Messages : 7148
- Enregistré le : 31 janv. 2008 14:24
- Localisation : Banlieue Paârisienne
- Contact :
Trouver une machine binaire
Bonjour,
On en a déjà parlé la plupart des calculatirces travaillent en base 10, chaque chiffre décimal prenant la moitié d'un octet (4 bits).
Chaque groupe de 4 bits peut donc varier de 0 à 9.
Mais certaines, surtout récentes, utilisent la représentation binaire, chaque demi-octet peut varier de 0 à F.
Ca vous le savez.
Récemment en tombant sur le test permettant de distinguer les deux types, je me suis demandé quelles machines travaillaient en binaire. Et pour l'instant je n'en ai trouvé aucune ! Même si je me souviens que les Citizen récentes en sont.
Pouvez-vous en trouver ?
Le test est :
Calculer 1/3
Si la machine est décimale, lorsqu'on fait répétitivement x 10 - 3, on finit par tomber sur zéro. Si binaire, ça fait un truc bizarre.
Si la machine est binaire, faire x 4 - 1 répétitivement aboutit à zéro.
A vos claviers !
G.E.
EDIT : En effet !
La SRP-325G est binaire, pourtant la SRP-280 qui lui ressemble comme deux gouttes d'eau est décimale, bizarre.
Les autres Citizen sont aussi décimales.
Pour la HP10BII, c'est bizarre elle est décimale apparemment mais si on fait 3 + SIN = + SIN = SIN on obtient 1.9793238E-11, ce qui ferait penser à une précision de 18 chiffres, ce qui n'est pas possible... ces résultats bizarres indiquent en général des machines binaires ??
On en a déjà parlé la plupart des calculatirces travaillent en base 10, chaque chiffre décimal prenant la moitié d'un octet (4 bits).
Chaque groupe de 4 bits peut donc varier de 0 à 9.
Mais certaines, surtout récentes, utilisent la représentation binaire, chaque demi-octet peut varier de 0 à F.
Ca vous le savez.
Récemment en tombant sur le test permettant de distinguer les deux types, je me suis demandé quelles machines travaillaient en binaire. Et pour l'instant je n'en ai trouvé aucune ! Même si je me souviens que les Citizen récentes en sont.
Pouvez-vous en trouver ?
Le test est :
Calculer 1/3
Si la machine est décimale, lorsqu'on fait répétitivement x 10 - 3, on finit par tomber sur zéro. Si binaire, ça fait un truc bizarre.
Si la machine est binaire, faire x 4 - 1 répétitivement aboutit à zéro.
A vos claviers !
G.E.
EDIT : En effet !
La SRP-325G est binaire, pourtant la SRP-280 qui lui ressemble comme deux gouttes d'eau est décimale, bizarre.
Les autres Citizen sont aussi décimales.
Pour la HP10BII, c'est bizarre elle est décimale apparemment mais si on fait 3 + SIN = + SIN = SIN on obtient 1.9793238E-11, ce qui ferait penser à une précision de 18 chiffres, ce qui n'est pas possible... ces résultats bizarres indiquent en général des machines binaires ??
Modifié en dernier par gege le 05 avr. 2020 09:43, modifié 1 fois.
-
- Fonctionne à 1200 bauds
- Messages : 484
- Enregistré le : 28 oct. 2018 17:28
- Localisation : Entre Lyon et St Etienne
- Contact :
Re: Trouver une machine binaire
free42 en version binaire ?
- gege
- Fonctionne à 14400 bauds
- Messages : 7148
- Enregistré le : 31 janv. 2008 14:24
- Localisation : Banlieue Paârisienne
- Contact :
Re: Trouver une machine binaire
Bonjour Tipoucet,
Tu as certainement raison, et je n'ai pas non plus cette mer...veille.
Je pense que les binaires sont les machines récentes faites par Kinpo sur base 6502.
A noter que la Lexibook GC2000 est décimale, trop ancienne ?
La HP35S est décimale aussi, malgré son introduction relativement récente.
A suivre...
G.E.
Tu as certainement raison, et je n'ai pas non plus cette mer...veille.
Je pense que les binaires sont les machines récentes faites par Kinpo sur base 6502.
A noter que la Lexibook GC2000 est décimale, trop ancienne ?
La HP35S est décimale aussi, malgré son introduction relativement récente.
A suivre...
G.E.
- pir2
- Fonctionne à 9600 bauds
- Messages : 4647
- Enregistré le : 31 oct. 2006 15:08
- Localisation : 67310 Westhoffen
- Contact :
Re: Trouver une machine binaire
Qu'ais-je fait de ma HP10S
Je voulais tester, mais je ne la trouve plus, elle était pourtant à portée de main pendant des années. Va falloir que je me rappelle de la date du renier rangement pour me faire une idée ...
Je voulais tester, mais je ne la trouve plus, elle était pourtant à portée de main pendant des années. Va falloir que je me rappelle de la date du renier rangement pour me faire une idée ...
- Hobiecat
- Fonctionne à 9600 bauds
- Messages : 3644
- Enregistré le : 06 sept. 2011 14:57
- Localisation : Normandie
Re: Trouver une machine binaire
Essayé sur la 39gII pour prendre une bécane récente, mais elle est aussi décimale.
- dprtl
- Fonctionne à 1200 bauds
- Messages : 463
- Enregistré le : 27 janv. 2013 00:26
- Localisation : Strasbourg
- Contact :
Re: Trouver une machine binaire
Un test assez simple (simpliste ?) et bien connu est le suivant :
Si ça ne donne pas zéro, c'est très probablement que le codage interne n'est pas en BCD (du style Casio des années 80), mais plutôt en virgule flottante binaire IEEE 754. Les calculettes avec un Python embarqué devraient par exemple donner le résultat suivant :
Code : Tout sélectionner
0.1+0.1+0.1-0.3 = ?
Code : Tout sélectionner
5.551115123125783e-17
Modifié en dernier par dprtl le 05 avr. 2020 18:54, modifié 1 fois.
Re: Trouver une machine binaire
Il y a la CANON F-720i, la mienne à une douzaine d'années.
Le test "x 4 - 1" renvoie un zéro bien propre après une quarantaine d'appuis.
Le test "x 10 - 3" aboutit à l'overflow en affinant appui après appui une mystérieuse mantisse bloquée à -4.4116299340 dès -4.411629934e10, jusqu'à -4.411629934e99 Je soupçonne aussi la CANON MARK I PRO de 2012 (18 chiffres), mais tout comme Pir2, impossible de la localiser
Le test "x 4 - 1" renvoie un zéro bien propre après une quarantaine d'appuis.
Le test "x 10 - 3" aboutit à l'overflow en affinant appui après appui une mystérieuse mantisse bloquée à -4.4116299340 dès -4.411629934e10, jusqu'à -4.411629934e99 Je soupçonne aussi la CANON MARK I PRO de 2012 (18 chiffres), mais tout comme Pir2, impossible de la localiser
Dominique
- gege
- Fonctionne à 14400 bauds
- Messages : 7148
- Enregistré le : 31 janv. 2008 14:24
- Localisation : Banlieue Paârisienne
- Contact :
Re: Trouver une machine binaire
Bonjour,
Sur la Citizen SRP-400G, c'est bizarre :
23 boucles de (x 10 - 3) donnent 0.3289217033997
38 boucles de (x 4 - 1) donnent 0.328175
La précision est de 24 chiffres, mais la machine n'est ni binaire ni décimale !
D'ailleurs 1 / 3 - .3333333333333 - 3.33333333E-14 donne 3.29299677E-23
On dirait qu'ils ont mis un nombre de chiffres déments mais parfois ça dérape.
G.E.
Sur la Citizen SRP-400G, c'est bizarre :
23 boucles de (x 10 - 3) donnent 0.3289217033997
38 boucles de (x 4 - 1) donnent 0.328175
La précision est de 24 chiffres, mais la machine n'est ni binaire ni décimale !
D'ailleurs 1 / 3 - .3333333333333 - 3.33333333E-14 donne 3.29299677E-23
On dirait qu'ils ont mis un nombre de chiffres déments mais parfois ça dérape.
G.E.
- dprtl
- Fonctionne à 1200 bauds
- Messages : 463
- Enregistré le : 27 janv. 2013 00:26
- Localisation : Strasbourg
- Contact :
Re: Trouver une machine binaire
Ce qui m'étonne, c'est que le programme ci-dessous (algo Gégé) ne donne pas le même résultat exécuté sur Free42 Linux ou sur une DM42 :
Sur DM42, le résultat est zéro en 34 itérations. Donc, ce MPO, dans lequel on est censé découvrir le codage interne des nombres à virgule sur sa calculette, n'est finalement pas si trivial !
Cela dit, sur Free42 Linux, qui ne donne pas le même résultat que Free42 Android :
Sur DM42, le résultat est zéro en 34 itérations. Donc, ce MPO, dans lequel on est censé découvrir le codage interne des nombres à virgule sur sa calculette, n'est finalement pas si trivial !
Cela dit, sur Free42 Linux, qui ne donne pas le même résultat que Free42 Android :
Code : Tout sélectionner
0.1 + 0.1 + 0.1 - 0.3 = 5.55111512313e-17
Modifié en dernier par dprtl le 05 avr. 2020 15:45, modifié 3 fois.
- pir2
- Fonctionne à 9600 bauds
- Messages : 4647
- Enregistré le : 31 oct. 2006 15:08
- Localisation : 67310 Westhoffen
- Contact :
Re: Trouver une machine binaire
J'ai remis la main sur ma HP300s+ (et non 10S comme je le pensais)
C'est une décimale.
Mais aussi une symbolique, donne
1
3
Pour avoir 0.33333333, il faut shifter le "="
D'ailleurs, référence à Casio, il y a une touche Ans (ledudu sera content )
C'est une décimale.
Mais aussi une symbolique,
Code : Tout sélectionner
1/3=
1
3
Pour avoir 0.33333333, il faut shifter le "="
D'ailleurs, référence à Casio, il y a une touche Ans (ledudu sera content )
- bernouilli92
- Fonctionne à 14400 bauds
- Messages : 5270
- Enregistré le : 21 nov. 2012 13:03
- Localisation : Ile de France
Re: Trouver une machine binaire
C'est normal si tu utilises la version binaire de Free42. En utilisant la version décimale de Free42, le résultat sera le même.dprtl a écrit : ↑05 avr. 2020 15:16 Ce qui m'étonne, c'est que le programme ci-dessous (algo Gégé) ne donne pas le même résultat exécuté sur Free42 ou sur une DM42 :
Sur DM42, le résultat est zéro en 34 itérations. Donc, ce MPO, dans lequel on est censé découvrir le codage interne des nombres à virgule sur sa calculette, n'est finalement pas si trivial !
Cela dit, sur Free42 :
Code : Tout sélectionner
0.1 + 0.1 + 0.1 - 0.3 = 5.55111512313e-17
HP, Casio, Sharp, Psion, quelques TI et divers autres
- dprtl
- Fonctionne à 1200 bauds
- Messages : 463
- Enregistré le : 27 janv. 2013 00:26
- Localisation : Strasbourg
- Contact :
Re: Trouver une machine binaire
Exact, c'était free42bin pour Linux en version 1.4.77.bernouilli92 a écrit : ↑05 avr. 2020 15:44 C'est normal si tu utilises la version binaire de Free42. En utilisant la version décimale de Free42, le résultat sera le même.
- bernouilli92
- Fonctionne à 14400 bauds
- Messages : 5270
- Enregistré le : 21 nov. 2012 13:03
- Localisation : Ile de France
Re: Trouver une machine binaire
Pour les versions macOS Windows et Linux, les deux versions sont livrées, pour android et iOS, on a que la version décimale.dprtl a écrit : ↑05 avr. 2020 15:48Exact, c'était free42bin pour Linux en version 1.4.77.bernouilli92 a écrit : ↑05 avr. 2020 15:44 C'est normal si tu utilises la version binaire de Free42. En utilisant la version décimale de Free42, le résultat sera le même.
Sur le site de Free42, c'est expliqué :
Free42 Decimal uses the Intel Decimal Floating-Point Math Library; it uses IEEE 754-2008 quadruple precision decimal floating-point, which consumes 16 bytes per number, and gives 34 decimal digits of precision, with exponents ranging from −6143 to +6144.
Free42 Binary uses the PC's FPU; it represents numbers as IEEE 754 compatible double precision binary floating-point, which consumes 8 bytes per number, and gives an effective precision of nearly 16 decimal digits, with exponents ranging from −308 to +308.
The binary version has the advantage of being much faster than the decimal version; also, it uses less memory. However, numbers such as 0.1 (one-tenth) cannot be represented exactly in binary, since they are repeating fractions then. This inexactness can cause some HP-42S programs to fail.
HP, Casio, Sharp, Psion, quelques TI et divers autres