
Section 7. Installation
171
discuss floating-point arithmetic thoroughly. One readily available source is the
topic Floating Point at www.wikipedia.org. In summary, CR3000 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 If X = Y then do.
•
When programming extended-cyclical summation of non-integers, use
the AddPrecise() instruction. Otherwise, as the size of the sum
increases, fractional addends will have an ever decreasing effect on the
magnitude of the sum, because normal floating-point numbers are limited
to about 7 digits of resolution.
7.6.3.16.2
Arithmetic Operations
Arithmetic operations are written out in CRBasic syntax much as they are in
common algebraic notation. For example, to convert Celsius temperature to
Fahrenheit, the syntax is:
TempF = TempC * 1.8 + 32
Read More Code space can be conserved while filling an array or partial
array with the same value. See an example of how this is done in the
CRBasic example Use of Move() to Conserve Code Space
(p. 171).
CRBasic example Use of Variable Arrays to Conserve Code Space
(p. 171)
shows example code to convert twenty temperatures in a variable array
from °C to °F.
Use of Move() to Conserve Code Space
Move
(counter(1),6,0,1)
'Reset six counters to zero. Keep array
'filled with the ten most current readings
Move
(TempC(2),9,TempC(1),9)
'Shift previous nine readings to make room
'for new measurement
'New measurement:
TCDiff
(TempC(1),1,mV20C,8,TypeT,PTemp,True,0,_60Hz,1.0,0)
Use of Variable Arrays to Conserve Code Space
For
I = 1
to
20
TCTemp(I) = TCTemp(I) * 1.8 + 32
Next
I
7.6.3.16.3
Expressions with Numeric Data Types
FLOATs, LONGs and Booleans are cross-converted to other data types, such as
FP2, by using '='.
Summary of Contents for CR3000 Micrologger
Page 2: ......
Page 3: ......
Page 4: ......
Page 6: ......
Page 30: ......
Page 34: ......
Page 36: ......
Page 96: ......
Page 485: ...Section 8 Operation 485 8 11 2 Data Display FIGURE 110 Keyboard and Display Displaying Data ...
Page 487: ...Section 8 Operation 487 FIGURE 112 CR1000KD Real Time Custom ...
Page 491: ...Section 8 Operation 491 FIGURE 116 Keyboard and Display File Edit ...
Page 496: ......
Page 502: ......
Page 564: ...Section 11 Glossary 564 FIGURE 126 Relationships of Accuracy Precision and Resolution ...
Page 566: ......
Page 594: ......
Page 598: ......
Page 600: ......
Page 602: ......
Page 624: ......
Page 642: ......
Page 643: ......