Sviluppo4d.it
Sito indipendente di informazioni tecniche per sviluppatori 4th Dimension italiani  

Sviluppatori 4D

Utility 4D

Risorse 4D



4d logo
Naviga: Prev Next

Titolo: Numeri Integer e overflow automatico

Categoria: Info Ultimo Aggiornamento: 26/01/05


Il tipo Integer in 4D può avere valori fra -32.768 e 32.767. Se viene inserito un valore maggiore o minore di questi limiti, il numero sarà modificato automaticamente per rientrarci: questa operazione si chiama "overflow".
Per esempio se aggiungi 1 ad un intero 32.767 esso diventerà -32768. Così se togli 1 da -32.768 otterrai 32.767.

Però bisogna anche sapere che in 4D (dalla versione 3 in poi) in realtà sono interi veri i campi e gli array. In realtà le varibili sono dei Long integer (che hanno un limite molto più alto).

Per verificare la cosa, prova ad eseguire questo codice controllando nel debugger i valori ottenuti:

CREATE RECORD([Tabella])
[Tabella]Intero:=32766
[Tabella]Intero:=[Tabella]Intero+1 ` 32,767 = normale
[Tabella]Intero:=[Tabella]Intero+1 ` -32,768 = overflow
[Tabella]Intero:=[Tabella]Intero-1 ` 32,767 = overflow ancora!

ARRAY INTEGER(arrayInteger;1)
arrayInteger{1}:=32766
arrayInteger{1}:=arrayInteger{1}+1 ` 32,767 = normale
arrayInteger{1}:=arrayInteger{1}+1 ` -32,768 = overflow

C_INTEGER(variabile)
variabile:=32766
variabile:=variabile+1 ` 32,767 = normale
variabile:=variabile+1 ` 32,768 = non c'è l'overflow!!!!

If (Type(variabile)=Is LongInt ) `infatti se controllo... è un Long integer
  ALERT("variabile è di tipo long integer.")
End if

Inviato da: Umberto Migliore Visite: 13254

Se accedi con utente e password, puoi aggiungere dei commenti.


Accesso

User:
Pass: Accedi

Cerca

Se non trovi le informazioni che cerchi scrivi a aiuto@sviluppo4d.it

4D Principali

4D Discussioni

Faq random


Crediti

Dominio registrato da ZetaNet
Sito realizzato da Nexus srl
4D SQL 11.9.0 offerto da 4D & Italsoftware
Icone di FAMFAMFAM
Moderato da Umberto Migliore
318 utenti registrati

Pagina servita il 09/10/24 alle 22:11:34 Valid HTML 4.01! Valid CSS!

Mutuo Facile, iDigitalScout, iDigitalTags e altre app di Nexid srl per iPhone e iPad

Cidroid, distributore italiano lettori barcode per IOS Apple iPhone, iPod, iPad