Difference between revisions of "Language Reference/Built-in entities/Operators"
From wiki.visual-prolog.com
(Reference in top) |
(→Integral division: Changed description) |
||
| Line 41: | Line 41: | ||
==== Integral division ==== | ==== Integral division ==== | ||
<vp>div</vp> and <vp>quot</vp> | <vp>div</vp> and <vp>quot</vp> are different integral division operators. | ||
<vp>mod</vp> is the remainder corresponding to <vp>div</vp> | * <vp>div</vp> rounds towards minus infinite. <vp>mod</vp> is the remainder corresponding to <vp>div</vp>. | ||
* <vp>quot</vp> rounds towards zero. <vp>rem</vp> is the remainder corresponding to <vp>quot</vp>. | |||
For positive results <vp>div</vp> and <vp>quot</vp> have same functionality. | |||
The difference can be seen in this table: | |||
{|border="2" cellspacing="0" cellpadding="5" rules="all" style="border:solid 1px #AAAAAA; border-collapse:collapse; empty-cells:show; text-align: center;" | {|border="2" cellspacing="0" cellpadding="5" rules="all" style="border:solid 1px #AAAAAA; border-collapse:collapse; empty-cells:show; text-align: center;" | ||
Revision as of 15:37, 18 March 2010
See also Operators.
| Operator | Description | Remark |
|---|---|---|
| ^ | Power operation | Not defined for 64 bit integral numbers |
| - (unary) | Unary minus | |
| *, / | Multiplication and division | |
| div, mod | The quotient and remainder of an integral division rounded towards minus infinity | Not defined for real's |
| quot, rem | The quotient and remainder of an integral division rounded towards zero | Not defined for real's |
| +, - | Addition and subtraction |
- The operators are listed from highest to lowest precedence
- All division and multiplication operators have same precedence.
- The the power operator is right associative
- All other operators are left associative.
All binary operators takes two arguments of same base type and returns a value of that base type. Operands and result may be converted using ordinary subtype rules.
Integral division
div and quot are different integral division operators.
- div rounds towards minus infinite. mod is the remainder corresponding to div.
- quot rounds towards zero. rem is the remainder corresponding to quot.
For positive results div and quot have same functionality.
The difference can be seen in this table:
| A | B | A div B | A mod B | A quot B | A rem B |
| 15 | 7 | 2 | 1 | 2 | 1 |
| -15 | 7 | -3 | 6 | -2 | -1 |
| 15 | -7 | -3 | -6 | -2 | 1 |
| -15 | -7 | 2 | -1 | 2 | -1 |
