10 expressions, 1 floating point arithmetic, 2 mathematical operations – Campbell Scientific CR200/CR200X-series Dataloggers User Manual
Page 99

Section 9. Programming
Read More! More information is available in CRBASIC Editor Help topic
"Multipliers and Offsets with Repetitions".
9.10 Expressions
An expression is a series of words, operators, or numbers that produce a value
or result. Expressions are evaluated expression from left to right, with deference
to precedence rules.
Two types of expressions, mathematical and programming, are used in
CRBASIC. A useful property of expressions in CRBASIC is that they are
equivalent to and often interchangeable with their results.
Consider the expressions:
x = (z * 1.8) + 32 (a mathematical expression)
If x = 23 then y = 5 (programming expression)
The variable x can be omitted and the expressions combined and written as:
If (z * 1.8 + 32 = 23) then y = 5
Replacing the result with the expression should be done judiciously and with the
realization that doing so may make program code more difficult to decipher.
9.10.1 Floating Point Arithmetic
Variables and calculations are performed internally in single precision IEEE4 4-
byte floating point, a binary format.
Floating point arithmetic is common in many electronic computational systems,
but it has pitfalls high-level programmers should be aware of. Several sources
discuss floating point arithmetic thoroughly. One readily available source is the
topic "Floating Point" at Wikipedia.org. In summary, CR200(X) programmers
should consider at least the following:
•
Floating point numbers do not perfectly mimic real numbers.
•
Floating point arithmetic does not perfectly mimic true arithmetic.
•
Avoid use of equality in conditional statements. Use >= and <= instead. For
example, use "If X => Y, then do" rather than using, "If X = Y, then do".
9.10.2 Mathematical Operations
Mathematical operations are written out much as they are algebraically. For
example, to convert Celsius temperature to Fahrenheit, the syntax is:
TempF = TempC * 1.8 + 32
87