Annuncio

Collapse
No announcement yet.

Semplice dubbio Turbo Pascal

Collapse
X
 
  • Filter
  • Ora
  • Show
Clear All
new posts

  • Semplice dubbio Turbo Pascal

    Ciao, oggi stavo osservando dei programmi fatti in turbo pascal. Ho notato che se io pongo una variabile uguale a un numero a (che io inserisco) la variabile quando viene stampata sullo schermo non è sempre uguale ad a. Per esempio:

    program esempio;
    uses crt;
    var a,prova:integer;
    begin
    clrscr;
    writeln('inserisci a');
    readln(a);
    prova:=a;
    writeln(prova);
    readln;
    end.

    Nella maggior parte dei numeri che inserisco me lo ritorna uguale...ma nella maggior parte dei numeri alti mi dà cose apparentemente senza senso.
    Tipo se inserisco 2, mi dà 2. Se inserisco 34354 mi dà -31182. Perchè???
    sigpic

    Live or die, make your choice.

  • #2
    Perchè una variabile di tipo integer in turbo pascal è codificata su 16 bit. Quindi può contenere 65536 valori tra numeri negativi e positivi. In poche parole una variabile integer assume valori tra -32768 e +32767. Ecco perchè se inserisci un valore più alto o più basso di quei due estremi il tuo programma ti ritorna un valore in apparenza senza senso. Per inserire valori più grandi devi definire la variabile a come REAL o come WORD tenendo presente che la Word assume solo valori positivi tra 0 e 65535

    sigpic
    Max Pezzali Mania
    ---> http://www.maxpezzalimania.it

    Comment


    • #3
      Ah capito tutto...grazie 1000!
      sigpic

      Live or die, make your choice.

      Comment

      Working...
      X