Free Pascal: gyökvonás esetén miért nem egész számot kapok vissza eredményül? (bővebben lent)
Azt várnám, hogy ha beírom, hogy 9 akkor hármat írjon ki és ne valamiféle fix vagy lebegőpontos számábrázolással (nem értek hozzá) jelenjen meg a szám...
Nem értem hogy longint esetén hogy tud ilyesmi egyáltalánmegjelenni.
A kommentbe írt sorok meg nem is működnek egyáltalán, hogy miért, nem tudom.
program gyokvonas_pelda;
var
szam, eredmeny : longint;
begin
ReadLn (szam);
{eredmeny := Sqrt ( Trunc ( szam ) );}
{eredmeny := Sqrt ( szam );}
WriteLn (Sqrt ( szam ) );
WriteLn ( Sqrt (Trunc ( szam ) ) );
ReadLn;
end.
A Trunc fgv. a szám egészrészét adja vissza - int64 -
A Frac fgv. a szám törtrészét adja vissza - extended -
A Round fgv. a szám kerekített értékét adja vissza - int64 -
Az Int fgv. a szám egészrészét adja vissza, de sunyi mert a visszatérési értéke extended, holott elsőre az ember integrt várna.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!