Div/fi

From Lazarus wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Deutsch (de) English (en) español (es) suomi (fi) français (fr) русский (ru)

Div on sellainen jakolasku, jossa murto-osa (jakojäännös) hylätään. Lauseke a div b palauttaa kokonaisluvun kahden kokonaisluvun jakamisen tuloksesta. Tämä on toisin kuin ilmaisu a / b, joka palauttaa reaaliluvun tuloksena.

Ilmaisun molemmilla puolilla div:n on oltava kokonaisluvullinen tyyppi. Reaalilukutyyppisen operandin käyttäminen divin kanssa johtaa käännösaikaiseen virheeseen:

 Error: Operator is not overloaded: […]

Jos halutaan saada kokonaislukutuloksen reealilukuisella operandilla niin käytä trunc tai round funktiota / operator kanssa.

Seuraavassa esimerkissä nähdään, mitä div tekee

 1program divDemo(input, output, stderr);
 2
 3var 
 4	i: shortInt;
 5	j: shortInt;
 6	q: qWord;
 7	r: qWord;
 8
 9begin
10	i := 16;
11	j := 3;
12	q := 1000;
13	r := 300;
14	
15 	writeLn(i div j);
16 	writeLn(i / j);
17 	writeLn(q div r);
18 	writeLn(q / r);
19end.

Ulostulona saadaan:

$ ./divDemo
5
 5.3333333333333330E+000
3
 3.3333333333333335E+000

Katso myös

  • mod – jakojäännös (kokonaisluvuista).
  • trunc – katkaisee kokonaisosan reaaliluvusta.
  • round – pyöristää reaaliluvun kokonaisluvuksi.
  • math.divmod – palauttaa molemmat kokonaisosan ja jakojäännöksen.