Ĺadny brzuch
Witam.
Poniższy kod źle konwertuje zmienną: (wzystko w okmentarzach)
begin Val(Copy(temp, 4, Length(temp)-3) ,c,e); {parametr pierwszy to 1000000, nastepnie powinien zostac text zamieniony na liczbe } liczby[b] := liczby[b] + e; {liczby[b] to tablica integer`ów, b parametr wskazujący na element tablicy (od 0 - 25)} end;
Na prostych liczbach np 100, 2, 6, 1000, 50 000 wszystko jest ok.
Ale jak wprowadzę 1000000 to zmienne c i e (:integer) przyjmują wartość 165**
Użytkownik DJ Mentos edytował ten post 04 styczeń 2008, 20:57
1000000 nie mieści się w integer... także 50000 również nie powinno się zmieścić.
1000000 nie mieści się w integer... także 50000 również nie powinno się zmieścić.
Mówimy o integerze 32 bit czy 16 bit?
Bo jak 32 bit to 1000000 < 2147483648
taak ;) już rozumiem ;)
w delphi był 32bitowy i się wszystko mieściło, a w pascalu 16 i się nie mieści :)
A longint powinno wystarczyć?
taak ;) już rozumiem ;)
w delphi był 32bitowy i się wszystko mieściło, a w pascalu 16 i się nie mieści :)
A longint powinno wystarczyć? Tak. Naciśnij ctrl+f1 w tpx'ie.
wciskałem... ale myślałem, że błąd jest po stornie Val a nie zmiennej. ;)
zakres zmiennych
» Byte 0..255
» Real liczby rzeczywiste z przedziału -1.7e38..1.7e38
» Shortint -128 ..127
» Longint -2 147 483 648 ..2 147 483 647
» Integer -32768 ..32767
» Word 0 ..65 535
» Char Pojedyńczy znak
» String Ciąg znaków (max: 255)
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Poniższy kod źle konwertuje zmienną: (wzystko w okmentarzach)
begin Val(Copy(temp, 4, Length(temp)-3) ,c,e); {parametr pierwszy to 1000000, nastepnie powinien zostac text zamieniony na liczbe } liczby[b] := liczby[b] + e; {liczby[b] to tablica integer`ów, b parametr wskazujący na element tablicy (od 0 - 25)} end;
Na prostych liczbach np 100, 2, 6, 1000, 50 000 wszystko jest ok.
Ale jak wprowadzę 1000000 to zmienne c i e (:integer) przyjmują wartość 165**
Użytkownik DJ Mentos edytował ten post 04 styczeń 2008, 20:57
1000000 nie mieści się w integer... także 50000 również nie powinno się zmieścić.
1000000 nie mieści się w integer... także 50000 również nie powinno się zmieścić.
Mówimy o integerze 32 bit czy 16 bit?
Bo jak 32 bit to 1000000 < 2147483648
taak ;) już rozumiem ;)
w delphi był 32bitowy i się wszystko mieściło, a w pascalu 16 i się nie mieści :)
A longint powinno wystarczyć?
taak ;) już rozumiem ;)
w delphi był 32bitowy i się wszystko mieściło, a w pascalu 16 i się nie mieści :)
A longint powinno wystarczyć? Tak. Naciśnij ctrl+f1 w tpx'ie.
wciskałem... ale myślałem, że błąd jest po stornie Val a nie zmiennej. ;)
zakres zmiennych
» Byte 0..255
» Real liczby rzeczywiste z przedziału -1.7e38..1.7e38
» Shortint -128 ..127
» Longint -2 147 483 648 ..2 147 483 647
» Integer -32768 ..32767
» Word 0 ..65 535
» Char Pojedyńczy znak
» String Ciąg znaków (max: 255)