Div

From Free Pascal wiki
Jump to: navigation, search

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

div is division in which the fractional part (remainder) is discarded. The expression a div b returns the integer part of the result of dividing two integers. This is in contrast to the expression a / b which returns a real result.

Both sides of an expression using div must be one of the integer types. Using a real operand with div will result in a compile-time error: “Error: Operator is not overloaded: […]”. To get an integer result with a real operand, use trunc or round with the / operator.

To demonstrate what div does, the following example

  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.

outputs

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

See also

  • mod – remainder of integer division
  • trunc – retrieve integer part of real numbers
  • round – round to integer
  • math.divmod – retrieve both quotient and remainder