![Campbell CR850 Скачать руководство пользователя страница 471](http://html1.mh-extra.com/html/campbell/cr850/cr850_operators-manual_3829356471.webp)
Appendix A. CRBasic Programming Instructions
471
A.6.2 Arithmetic Operators
Table 112.
Arithmetic Operators
Symbol Name
Notes
^
Raise to power
Result is always promoted to a
float
(p. 142)
to avoid problems that
may occur when raising an integer to a negative power. However,
loss of precision occurs if result is > 24 bits.
For example:
(46340 ^ 2)
will yield
2,147,395,584
(not precisely correct)
whereas,
(46340 * 46340)
will yield
2,147,395,600
(precisely correct)
Simply use repeated multiplications instead of
^
operators when
full 32-bit precision is required.
Same functionality as
PWR()
(p. 475)
instruction.
*
Multiply
/
Divide Use
INTDV()
(p. 475)
to retain 32-bit precision
+
Add
-
Subtract
=
Equal to
<>
Not equal to
>
Greater than
<
Less than
>=
Greater than or
equal to
<=
Less than or
equal to
A.6.3 Bitwise Operators
Bitwise shift operators (<< and >>) allow the program to manipulate the positions
of patterns of bits within an integer (CRBasic Long type). Here are some example
expressions and the expected results:
•
&B00000001 << 1
produces
&B00000010
(decimal
2
)
•
&B00000010 << 1
produces
&B00000100
(decimal
4
)
•
&B11000011 << 1
produces
&B10000110
(decimal
134
)
•
&B00000011 << 2
produces
&B00001100
(decimal
12
)
•
&B00001100 >> 2
produces
&B00000011
(decimal
3
)
The result of these operators is the value of the left hand operand with all of its
bits moved by the specified number of positions. The resulting "holes" are filled
with zeroes.
Consider a sensor or protocol that produces an integer value that is a composite of
various "packed" fields. This approach is quite common to conserve bandwidth
and/or storage space. Consider the following example of an eight-byte value:
•
bits 7-6: value_1
Содержание CR850
Страница 2: ......
Страница 4: ......
Страница 6: ......
Страница 26: ...Table of Contents 26...
Страница 30: ...Section 2 Cautionary Statements 30...
Страница 32: ...Section 3 Initial Inspection 32...
Страница 35: ...Section 4 Quickstart Tutorial 35 Figure 2 Wiring panel...
Страница 55: ...Section 4 Quickstart Tutorial 55 Figure 24 PC200W View data utility...
Страница 78: ...Section 5 System Overview 78...
Страница 80: ...Section 6 CR800 Specifications 80...
Страница 95: ...Section 7 Installation 95 Figure 35 DevConfig OS download window Figure 36 Dialog box confirming OS download...
Страница 104: ...Section 7 Installation 104 Figure 43 Include File settings via DevConfig Figure 44 Include File settings via PakBusGraph...
Страница 267: ...Section 7 Installation 267 Figure 84 Running average signal attenuation...
Страница 268: ...Section 7 Installation 268...
Страница 384: ...Section 8 Operation 384 Figure 113 Using the keyboard display...
Страница 385: ...Section 8 Operation 385 8 8 1 Data Display Figure 114 Displaying data with the keyboard display...
Страница 387: ...Section 8 Operation 387 Figure 116 Real time custom...
Страница 388: ...Section 8 Operation 388 8 8 1 3 Final Storage Tables Figure 117 Final storage tables...
Страница 389: ...Section 8 Operation 389 8 8 2 Run Stop Program Figure 118 Run Stop Program...
Страница 390: ...Section 8 Operation 390 8 8 3 File Display Figure 119 File display...
Страница 396: ...Section 8 Operation 396...
Страница 402: ...Section 9 Maintenance 402...
Страница 450: ...Section 11 Glossary 450...
Страница 504: ...Appendix A CRBasic Programming Instructions 504...
Страница 526: ...Appendix B Status Table and Settings 526...
Страница 530: ...Appendix C Serial Port Pinouts 530...
Страница 536: ...Appendix E FP2 Data Format 536...
Страница 550: ...Appendix F Other Campbell Scientific Products 550...
Страница 564: ...Index 564 WriteIO 464 Writing Program 108 X XML 448 XOR 473 Y Y intercept 141 142 Z Zero 155 166 Zero Basis 151...
Страница 565: ......