division (/divwhereas the slash denotes ordinary division resulting in value of type realthe operator div denotes integer division resulting in value of type integer if we define the quotient div and the remainder mod nthe following relations holdassuming * and < < examples div mod - div - - mod we know that dividing by can be achieved by merely shifting the decimal digits places to the right and thereby ignoring the lost digits the same method appliesif numbers are represented in binary instead of decimal form if two' complement representation is used (as in practically all modern computers)then the shifts implement division as defined by the above div operaton moderately sophisticated compilers will therefore represent an operation of the form div or mod by fast shift (or maskoperation the type real the type real denotes subset of the real numbers whereas arithmetic with operands of the types integer is assumed to yield exact resultsarithmetic on values of type real is permitted to be inaccurate within the limits of round-off errors caused by computation on finite number of digits this is the principal reason for the explicit distinction between the types integer and realas it is made in most programming languages the standard operators are the four basic arithmetic operations of addition (+)subtraction (-)multiplication (*)and division (/it is an essence of data typing that different types are incompatible under assignment an exception to this rule is made for assignment of integer values to real variablesbecause here the semanitcs are unambiguous after allintegers form subset of real numbers howeverthe inverse direction is not permissibleassignment of real value to an integer variable requires an operation such as truncation or rounding the standard transfer function entier(xyields the integral part of rounding of is obtained by entier( many programming languages do not include an exponentiation operator the following is an algorithm for the fast computation of xnwhere is non-negative integer : : (adens *( xi *while do if odd(ithen : * endx : *xi : div end