Div/fi

From Free Pascal wiki

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

 1 program divDemo(input, output, stderr);
 2 
 3 var 
 4 	i: shortInt;
 5 	j: shortInt;
 6 	q: qWord;
 7 	r: qWord;
 8 
 9 begin
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);
19 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.