Trouver une machine binaire

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Répondre
Avatar de l’utilisateur
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6934
Inscription : 31 janv. 2008 15:24
Localisation : Banlieue Paârisienne
Contact :

Trouver une machine binaire

Message par gege » 05 avr. 2020 08:40

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 ??
Dernière édition par gege le 05 avr. 2020 09:43, édité 1 fois.

Tipoucet
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3645
Inscription : 10 janv. 2009 14:47

Re: Trouver une machine binaire

Message par Tipoucet » 05 avr. 2020 08:59

Bonjour gege
Je dirais bien la HP30S, que je n'ai pas.
Dominique

JCH
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 222
Inscription : 28 oct. 2018 18:28
Localisation : Entre Lyon et St Etienne
Contact :

Re: Trouver une machine binaire

Message par JCH » 05 avr. 2020 09:31

free42 en version binaire ? :oops:
:arrow:

Avatar de l’utilisateur
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6934
Inscription : 31 janv. 2008 15:24
Localisation : Banlieue Paârisienne
Contact :

Re: Trouver une machine binaire

Message par gege » 05 avr. 2020 09:46

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.

Avatar de l’utilisateur
pir2
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4537
Inscription : 31 oct. 2006 16:08
Localisation : 67310 Westhoffen
Contact :

Re: Trouver une machine binaire

Message par pir2 » 05 avr. 2020 10:40

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 ... :oops:
Image
Image

Avatar de l’utilisateur
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3263
Inscription : 06 sept. 2011 14:57
Localisation : Normandie

Re: Trouver une machine binaire

Message par Hobiecat » 05 avr. 2020 11:31

Essayé sur la 39gII pour prendre une bécane récente, mais elle est aussi décimale.

Avatar de l’utilisateur
dprtl
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 378
Inscription : 27 janv. 2013 01:26
Localisation : Strasbourg
Contact :

Re: Trouver une machine binaire

Message par dprtl » 05 avr. 2020 11:32

Un test assez simple (simpliste ?) et bien connu est le suivant :

Code : Tout sélectionner

0.1+0.1+0.1-0.3 = ?
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

5.551115123125783e-17
Dernière édition par dprtl le 05 avr. 2020 18:54, édité 1 fois.

Tipoucet
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3645
Inscription : 10 janv. 2009 14:47

Re: Trouver une machine binaire

Message par Tipoucet » 05 avr. 2020 11:40

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
CANON_F720i-2.jpg
CANON_F720i-2.jpg (41.07 Kio) Consulté 2617 fois
Je soupçonne aussi la CANON MARK I PRO de 2012 (18 chiffres), mais tout comme Pir2, impossible de la localiser :)
Dominique

Avatar de l’utilisateur
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6934
Inscription : 31 janv. 2008 15:24
Localisation : Banlieue Paârisienne
Contact :

Re: Trouver une machine binaire

Message par gege » 05 avr. 2020 14:04

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.

Avatar de l’utilisateur
dprtl
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 378
Inscription : 27 janv. 2013 01:26
Localisation : Strasbourg
Contact :

Re: Trouver une machine binaire

Message par dprtl » 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 Linux ou sur une DM42 :

Image

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
Dernière édition par dprtl le 05 avr. 2020 15:45, édité 3 fois.

Avatar de l’utilisateur
pir2
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4537
Inscription : 31 oct. 2006 16:08
Localisation : 67310 Westhoffen
Contact :

Re: Trouver une machine binaire

Message par pir2 » 05 avr. 2020 15:18

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 ;) )
Image
Image

Avatar de l’utilisateur
bernouilli92
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4175
Inscription : 21 nov. 2012 14:03
Localisation : Ile de France

Re: Trouver une machine binaire

Message par bernouilli92 » 05 avr. 2020 15:44

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
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.
HP, Casio, Sharp, Psion, quelques TI et divers autres

Avatar de l’utilisateur
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3263
Inscription : 06 sept. 2011 14:57
Localisation : Normandie

Re: Trouver une machine binaire

Message par Hobiecat » 05 avr. 2020 15:45

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
Ce qui est étrange effectivement : est-ce à dire que le hardware joue aussi ? Ou alors Free42 est fortement remanié dans la DM42 ?

Avatar de l’utilisateur
dprtl
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 378
Inscription : 27 janv. 2013 01:26
Localisation : Strasbourg
Contact :

Re: Trouver une machine binaire

Message par dprtl » 05 avr. 2020 15:48

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.
Exact, c'était free42bin pour Linux en version 1.4.77.

Avatar de l’utilisateur
bernouilli92
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4175
Inscription : 21 nov. 2012 14:03
Localisation : Ile de France

Re: Trouver une machine binaire

Message par bernouilli92 » 05 avr. 2020 15:55

dprtl a écrit :
05 avr. 2020 15:48
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.
Exact, c'était free42bin pour Linux en version 1.4.77.
Pour les versions macOS Windows et Linux, les deux versions sont livrées, pour android et iOS, on a que la version décimale.

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

Répondre

Revenir vers « Tous les Pockets »