beautypg.com

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

Page 99

background image

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