[zxspectrum] R: ZXBas e numeri

  • From: "gianzula@xxxxxx" <gianzula@xxxxxx>
  • To: <zxspectrum@xxxxxxxxxxxxx>
  • Date: Mon, 13 Nov 2017 09:19:49 +0100 (CET)

Ho avuto la necessità di decodificare il valore di una variabile BASIC

quando ho studiato il programma 1K ZX Chess; ho trovato tutte le

informazioni necessarie nel capitolo 27 del manuale dello spectrum.


Nella fattispecie, se vai alla pagina:

https://gzuliani.bitbucket.io/sinclair/scacchi-1k.html
e cerchi la 
stringa "valore di X", trovi il procedimento che ho seguito.

Ciao,

Gianfranco


----Messaggio originale----
Da: e.m.giordano@emagsoftware.
it
Data: 12-nov-2017 15.55
A: "The ZX Spectrum Mailing-List"
<zxspectrum@xxxxxxxxxxxxx>
Ogg: [zxspectrum] ZXBas e numeri

Quando 
iniziai a scrivere ZXBas cercai qualche informazione su come 
tradurre 
un numero nella rappresentazione usata dal Basic dello Spectrum 
ma non 
trovai niente di chiaro. Quindi decisi di usare i VAL(), nel 
senso che 
nel sorgente tradotto trovate, ad esempio:

VAL( "12.34" )

invece di


12.34

Questa è una buona idea anche perché fa risparmiare memoria. Il 
problema 
però è che rallenta anche un po' l'esecuzione e in certi casi 
questo è 
inaccettabile. Quindi vorrei metterci uno switch per poter 
scegliere se 
usare la normale rappresentazione oppure il VAL(). Ma non 
trovando 
descritto in modo chiaro il formato usato nello Spectrum non 
sono in 
grado di farlo.

Qualcuno sa dove trovare una descrizione 
chiara di come viene 
memorizzato un numero floating-point nei 5 bytes 
che vengono usati per 
rappresentarlo nel Basic dello Spectrum?

EMG


--
http://www.emagsoftware.ithttp://www.emagsoftware.it/emgmusichttp://www.emagsoftware.it/spectrum
http://www.emagsoftware.it/tbosg




Other related posts: