Div/fi

From Free Pascal wiki
Jump to navigationJump to search

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

program divDemo(input, output, stderr);

var 
	i: shortInt;
	j: shortInt;
	q: qWord;
	r: qWord;

begin
	i := 16;
	j := 3;
	q := 1000;
	r := 300;
	
 	writeLn(i div j);
 	writeLn(i / j);
 	writeLn(q div r);
 	writeLn(q / r);
end.

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.