[zxspectrum] Re: usare le variabili intere

  • From: Roberto Montaruli <rmontaruli@xxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Fri, 12 Mar 2004 01:36:31 -0800 (PST)

--- Enrico Maria Giordano <e.m.giordano@xxxxxxxxxxxxxxx> wrote:
> 
> 
> Roberto Montaruli wrote:
> > 
> > > Sì, ma siccome la variabile b viene probabilmente gestita a due byte, in
> > > fondo ha un po' ragione anche Stefano, no?
> > 
> > No, in area variabili il valore della variabile b occupa i soliti 5 byte e
> pure
> > nello stack del calcolatore forth la variabile b occupa i soliti 5 byte.
> > Che poi se il valore e' un intero tra -32768 e 32767, il formato interno
> del
> > numero valorizzi solo 2 byte, questo non toglie che il tipo di dato sia
> sempre
> > di 5 byte.
> 
> Non è detto. Dipende da come viene gestito internamente. Io non me lo
> ricordo ma se, per ipotesi, il sistema usasse due set diversi di routine
> per i numeri full float e quelli a due byte allora pensarli come due
> tipi di dati diversi non sarebbe poi una cosa così sbagliata.
> 

Infatti. Ci sono alcuni compilatori Basic che ne tengono conto, e gestiscono il
tipo intero in modo piu' efficiente usando i registri a 16 bit.
Pero' il basic dello spectrum non fa una grossa distinzione.
I numeri siano essi interi o in virgola mobile occupano sempre 5 byte.
Il calcolatore forth mi pare faccia delle distinzioni se il numero sia di tipo
intero, ma queste distinzioni non si traducono in maggior guadagno in termini
di velocita' anzi, hanno generato un bug, quello dell'INT(-65536) o qualcosa di
simile...

> > Un po' come le tue funzioni per gestire numeri enormi usando 256 byte.
> > Se io assegno ad una variabile zero o uno, sempre 256 byte mi occupa ;-)
> 
> No, non è così! Un numero può occuparne anche molti di meno, se poi se
> ne tiene conto indicandolo nel registro B. :-)

Ok, ma a priori io non so il risultato di una espressione e quindi in quanti
byte mi scrive il risultato della seguente ?

123456789012345678901234567899 -
123456789012345678901234567898 



=====
//
//   In a world without walls and fences
//     you would not need windows and gates. 
//                               (Confucio)
==
P'n'P: http://maicrosoft.italiamac.com

__________________________________
Do you Yahoo!?
Yahoo! Search - Find what you?re looking for faster
http://search.yahoo.com

Other related posts: