Comparisons |
Top Previous Next |
It is often necessary to compare one value to another and make a decision based on the result. XPL0 uses the following symbols to make comparisons:
= Tests for equal values. # Tests for not equal values. < Tests if the first value is less than the second. > Tests if the first value is greater than the second. >= Tests if the first value is greater than or equal to the second. <= Tests if the first value is less than or equal to the second.
Here are some expressions containing comparison operators:
X = 3 A < 0.91 (X+1) >= Y
We have already seen an example of how XPL0 uses comparisons to make decisions. In the number guessing program, one of two statements were executed depending on a comparison:
if Guess > Number then Text(0, "Too high") else Text(0, "Too low")
If the Guess was greater than the Number then it was "Too high"; otherwise it was "Too low".
XPL0 evaluates a comparison to true or false. These expressions evaluate to true:
55 > 23 (3*4) # (3+4)
These expressions evaluate to false:
(2+2) = 5 -33.3 > -4.5
WARNING: Since XPL0 treats all 16-bit integers as signed,
$F000 > $A000 is true, but $F000 > $7000 is false.
Converting the hex to decimal makes the reason apparent:
-4096 > -24576 is true, and -4096 > 28672 is false. |