zoukankan      html  css  js  c++  java
  • 【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
    
     .  

    方法调用。

     ->  

    方法调用。

             

       

  • 相关阅读:
    linux之iptable案例
    nginx常用命令参数
    laravel中的多对多关系详解
    MySql计算时间差函数
    总结下Mysql分表分库的策略及应用
    swoole扩展实现真正的数据库连接池
    linux常用命令整理
    innodb mvcc实现机制
    mysqlslap 压力测试使用总结
    mysql索引总结
  • 原文地址:https://www.cnblogs.com/alex-bn-lee/p/5803475.html
Copyright © 2011-2022 走看看