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

Avatar du membre
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7141
Enregistré le : 31 janv. 2008 14:24
Localisation : Banlieue Paârisienne
Contact :

Trouver une machine binaire

Message par gege »

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 ??
Modifié en dernier par gege le 05 avr. 2020 09:43, modifié 1 fois.
Tipoucet
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3787
Enregistré le : 10 janv. 2009 13:47

Re: Trouver une machine binaire

Message par Tipoucet »

Bonjour gege
Je dirais bien la HP30S, que je n'ai pas.
Dominique
JCH
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 482
Enregistré le : 28 oct. 2018 17:28
Localisation : Entre Lyon et St Etienne
Contact :

Re: Trouver une machine binaire

Message par JCH »

free42 en version binaire ? :oops:
:arrow:
Avatar du membre
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7141
Enregistré le : 31 janv. 2008 14:24
Localisation : Banlieue Paârisienne
Contact :

Re: Trouver une machine binaire

Message par gege »

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 du membre
pir2
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4642
Enregistré le : 31 oct. 2006 15:08
Localisation : 67310 Westhoffen
Contact :

Re: Trouver une machine binaire

Message par pir2 »

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 du membre
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3626
Enregistré le : 06 sept. 2011 14:57
Localisation : Normandie

Re: Trouver une machine binaire

Message par Hobiecat »

Essayé sur la 39gII pour prendre une bécane récente, mais elle est aussi décimale.
Avatar du membre
dprtl
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 463
Enregistré le : 27 janv. 2013 00:26
Localisation : Strasbourg
Contact :

Re: Trouver une machine binaire

Message par dprtl »

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
Modifié en dernier par dprtl le 05 avr. 2020 18:54, modifié 1 fois.
Tipoucet
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3787
Enregistré le : 10 janv. 2009 13:47

Re: Trouver une machine binaire

Message par Tipoucet »

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) Vu 11490 fois
Je soupçonne aussi la CANON MARK I PRO de 2012 (18 chiffres), mais tout comme Pir2, impossible de la localiser :)
Dominique
Avatar du membre
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7141
Enregistré le : 31 janv. 2008 14:24
Localisation : Banlieue Paârisienne
Contact :

Re: Trouver une machine binaire

Message par gege »

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 du membre
dprtl
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 463
Enregistré le : 27 janv. 2013 00:26
Localisation : Strasbourg
Contact :

Re: Trouver une machine binaire

Message par dprtl »

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
Modifié en dernier par dprtl le 05 avr. 2020 15:45, modifié 3 fois.
Avatar du membre
pir2
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4642
Enregistré le : 31 oct. 2006 15:08
Localisation : 67310 Westhoffen
Contact :

Re: Trouver une machine binaire

Message par pir2 »

J'ai remis la main sur ma HP300s+ (et non 10S comme je le pensais)

C'est une décimale.

Mais aussi une symbolique,

Code : Tout sélectionner

1/3=
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 du membre
bernouilli92
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5226
Enregistré le : 21 nov. 2012 13:03
Localisation : Ile de France

Re: Trouver une machine binaire

Message par bernouilli92 »

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 du membre
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3626
Enregistré le : 06 sept. 2011 14:57
Localisation : Normandie

Re: Trouver une machine binaire

Message par Hobiecat »

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 du membre
dprtl
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 463
Enregistré le : 27 janv. 2013 00:26
Localisation : Strasbourg
Contact :

Re: Trouver une machine binaire

Message par dprtl »

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 du membre
bernouilli92
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5226
Enregistré le : 21 nov. 2012 13:03
Localisation : Ile de France

Re: Trouver une machine binaire

Message par bernouilli92 »

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

Retourner vers « Tous les Pockets »