zoukankan      html  css  js  c++  java
  • D语言-运算符

    Part 0:概念

    表达式:表达式是由非赋值运算符或特殊运算符和值组成的,每个表达式都可以计算出一个值


    Part 1:非赋值运算符

    §1.1 基本的运算符

    基本的运算符有+,-,*,/,%
    我相信你除了%应该能看得懂
    %运算是求余数的运算,具体请看:这篇文章的Part 0部分
    怎么用呢?举例介绍:

    int a=1,b=2;
    a+b;//3
    a-b;//-2
    a*b;//2
    a/b;//1/2
    b%a;//0
    

    §1.2 关系运算符

    关系运算符描述几个量之间的关系,他们是:==,!=,>,<,>=,<=
    解释一下:===!=,>=,<=

    §1.3 逻辑运算符

    逻辑运算符主要用于判断当中,他们包括:&&,||,!
    接下来请记住概念:

    只要a,b有一个为假,a&&b即为假
    只要a,b有一个为真,a||b即为真
    如果a为真,则!a为假;如果a为假,!a则为真

    请注意!真假在bool类型中只能为1和0,但是对于其他变量,只要不为0即为真

    §1.4 位运算符

    这些运算符是最难懂的运算符,因为他们针对的是二进制的。他们是:&,|,^,<<,>>,~

    若a,b的二进制的同一位上为0,则a&b中,这一位为0
    若a,b的二进制的同一位上为1,则a|b中,这一位为1
    ^和&为互逆的运算
    ~a表示把a的每一位取反(0改为1,1改为0)
    上面的三个运算符会针对一个数的二进制的每一位单独操作,假设a的二进制有4位,则若a参与&运算,&要判断4个位上的数,最后把四次的结果组合为一个新的数字,举个例子:
    假设a=1100,b=0011(二进制),求a&b
    第1次:a的第一位1和b的第一位0运算:1 & 0 = 0
    第2次:a的第一位0和b的第一位1运算:0 & 1 = 0
    第3次:a的第一位1和b的第一位0运算:1 & 0 = 0
    第4次:a的第一位0和b的第一位1运算:0 & 1 = 0
    组合结果,a&b=0000(二进制)

    接下来的运算,是针对一个数的二进制进行操作:

    a>>b表示,把a的每一位向右移动b次,溢出的数字舍去,空缺的位用0补全
    a<<b表示,把a的每一位向左移动b次,溢出的数字舍去,空缺的位用0补全

    举个例子:假设a=1111(二进制):


    Part 2:赋值运算符

    由于非赋值运算符并不会改变值,如果你想a加一,你要写a = a+1
    有了赋值运算符,就简单的多了!
    除了逻辑运算符,上面谈到的非赋值运算符后缀=即为赋值运算符了:

    • => +=
    • => -=
    • => *=
      / => /=
      % => %=
      & => &=
      | => |=
      ^ => ^=

    => >>=
    << => <<=
    ~ => ~=


    Part 3:特殊运算符

    特殊运算符并不是用来计算的,他们包括:sizeof(),&,*,?:
    sizeof(a)用来返回变量a所占的字节大小
    &,*为指针运算符,此时他们左边没有数值&p来返回一个变量p在计算机内储存的地址,*p返回指针p指向的地址所储存的值
    a?x:y中,a是一个表达式,如果表达式为真,则a?x:y的值为x;否则,a?x:y的值为y

  • 相关阅读:
    CC2640R2F&TI-RTOS 拿到 TI CC2640R2F 开发板 第三件事就是使用 TI-RTOS 创建 一个任务 和 使用 信号量 超时来闪烁 LED灯
    +QFTPOPEN: 603,0 怎么把这样一个字符串中的 603 提取出来给一个 uint32_t 的变量那
    hiero_v2.0的下载安装和使用
    ubuntu server小技巧(不定期更新)
    ubuntu-12.04.1-desktop-x64下JDK环境的安装与配置
    Android开发环境搭建
    《搜索引擎营销》概要整理
    记一次zabbix排错(数据库安装在其它服务器上)
    centos7新增硬盘
    centos7的主机名配置
  • 原文地址:https://www.cnblogs.com/sdltf/p/12356942.html
Copyright © 2011-2022 走看看