alex_bn_lee

导航

【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
 .  

方法调用。

 ->  

方法调用。

         

 

   

posted on 2016-08-24 16:23  McDelfino  阅读(4301)  评论(0编辑  收藏  举报