|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.