【218】◀▶ IDL 操作符號說明


參考:Operators —— 運算符


01   Relational_Operators 比較運算符。
02   Mathematical_Operators 數學運算符
03   Logical_Operators 邏輯運算符。
04   Bitwise_Operators 位運算符。
05   Matrix_Operators 矩陣運算符。 
06   Minimum_and_Maximum_Operators
最大最小操作符。
07   Operator_Precedence 運算符優先級。 
08   Assignment_and_Compound_Assignment 賦值和復合賦值。
09   Other_Operators 其他操作符。

序號 名稱    

功能說明 & 語法 & 舉例

01 Relational Operators

   比較運算符。 

 EQ  

等於,=,Equal to

 NE  

不等於 ≠,Not equal to

 GE  

大於等於,≥,Greater than or equal to

 GT  

大於,>,Greater than

 LE  

小於等於,≤,Less than or equal to

 LT
 

小於,<,Less than

 02 Mathematical Operators

  數學運算符。  

+  

加法,字符串連接

 ++  

自增

-  

減法,負號

 --  

自減

 *  

乘法

 /  

除法

 ^  

冪運算

 MOD  

模,取余數

   
IDL> PRINT, 'alex' + ' ' + 'lee'
alex lee

IDL> 2^0.5
       1.4142135

IDL> PRINT, 9 MOD 5
       4
03 Logical Operators

   邏輯運算符。

 &&  

邏輯與,都真才真,非0的數字、非空的字符串等都認為是真

 ||  

邏輯或,有一個真就為真

 ~  

邏輯非,取反

   
IDL> PRINT, 5 && 7
   1

IDL> PRINT, 4 && 0
   0

IDL> PRINT, "" && "sun"
   0

IDL> PRINT, "alex" && "sun"
   1
04 Bitwise Operators

  位運算符。

 AND  

按位與
用於判斷奇偶數:奇數 AND 1 = 1、偶數 AND 1 = 0

 OR  

按位或

 NOT  

取反

 XOR  

按位異或
XOR 運算的逆運算是它本身,也就是說兩次異或同一個數最后結果不變

   
IDL> FOR I = 1,5 DO PRINT, I, I AND 1
       1       1
       2       0
       3       1
       4       0
       5       1

IDL> FOR I = 1,5 DO PRINT, I, I OR 1
       1       1
       2       3
       3       3
       4       5
       5       5
05 Matrix Operators

  矩陣運算符。

 #  

A#B 表示 A 的列乘以 B 的行

 ##  

A##B 表示 A 的行乘以 B 的列

06
Minimum and Maximum Operators

  最大最小操作符。

 <  

取最小的一個數。

 >  

取最大的一個數

   
IDL> 5 < 3
       3

IDL> 5 < 3 < 4 < 6
       3

IDL> 5 > 3
       5

IDL> 5 > 3 > 4 > 6
       6
07 Operator Precedence

  運算符優先級。

 1級  

()
[]

 2級  

.
[]
()

 3級

 

*
^
++
--

 4級

 

*
#
##

/
MOD

 5級

 

+
-
<
>
NOT
~

 6級

 

EQ
NE
LE
LT
GE
GT

 7級

 

AND
OR
XOR

 8級

 

&&
||

 9級

  ?:
   
IDL> i = 3
08 Assignment and Compound Assignment

  賦值和復合賦值。

 =  

賦值

op=  

復合賦值
op 可以是下面操作符中的一個:##、#、*、+、-、/、<、>、^、AND、EQ、GE、GT、LE、LT、MOD、NE、OR、XOR

   
IDL> A = 5
IDL> A += 3
IDL> A
       8
IDL> A -= 3
IDL> A
       5
IDL> A <= 3
IDL> A
       3
IDL> A *= 3
IDL> A
       9
IDL> A <= 3
IDL> A
       3
IDL> A /= 3
IDL> A
       1
09 Other Operators

  其他操作符。 

 []  

數組操作符

   
IDL> C = [0, 1, 3]
IDL> PRINT, C
       0       1       3
IDL> PRINT, [C, 5]
       0       1       3       5
IDL> PRINT, [-1, C]
      -1       0       1       3
IDL> PRINT, [C, C]
       0       1       3       0       1       3
IDL> PRINT, [[C], [C]]
       0       1       3
       0       1       3
[::]  

冒號運算符。
-----------------------------------------------------------------------------------------------
Result = [start: finish]
-----------------------------------------------------------------------------------------------
Result = [start: finish: increment]
-----------------------------------------------------------------------------------------------
? start:開始索引
? finish:結束索引
? increment:增量

   
IDL> A = INDGEN(8)
IDL> A
       0       1       2       3       4       5       6       7
IDL> A[1:5]
       1       2       3       4       5
IDL> A[0:7:2]
       0       2       4       6
 ()  

控制運算的組表達式。

   
IDL> PRINT, 3 + 4 * 2 ^ 2 / 2
      11
IDL> PRINT, (3 + (4 * 2) ^ 2 / 2)
      35
 ?:  

條件表達式。
提供 IF...THEN...ELSE 的簡答表達式。

   

 

IDL> A=6 & B=4
IDL> Z = (A GT B) ? A : B
IDL> PRINT, Z
       6
IDL> Z = (A LT B) ? A : B
IDL> PRINT, Z
       4
 .  

方法調用。

 ->  

方法調用。

         

 

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM