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

 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.