zoukankan      html  css  js  c++  java
  • 运算符顺序和位运算符

    位运算符:

      &(AND):表示二元数全为真时结果为真。

      >(OR):或,表示二元数有一个为真时结果为真

      ^(EOR):异或。只有二元数全为1时,结果为0.即相同为0

      ~:取反。一元操作符,为1时结果为0,为0时结果为1

      >>:位右移。即操作数以二进制形式向右边移动的位数。

      <<:位左移. 即操作数以二进制形式向工边移动的位数。

      它们的格式也可变为:

        LValue op= RValue;

        如: a &=b 等价于 a=a & b;

              <<和>>操作对于无符号整数相当于 原值乘以2的n次方或原值除于2的n次方,n为移动的位数.

        如 int a=30,相当于二进制0001 1110,右移4位(二进制为0000 0001),则相当于30 / (2的4次方),结果为1. 左移4位,则变成(1110 0000),结果为480.

      代码为:

         

    #include <iostream>
    
    using namespace std;
    
    void main()
    {
    	 int a=30;
    	 cout<<(a>>4)<<endl;
    	 a=30;
    	 cout<<(a<<4)<<endl;
    
    }  

    //计算结果为 1
          480

    有符号整数的最右数为1,以另种方法计算。

    逻辑运算符

      &&(逻辑与),二元运算符,只有二个操作条件都为真时,结果才为真。

      ||(逻辑或),二元运算符,只有二个操作条件有一个为真时就为真。

      !(逻辑非), 一元运算符,将条件表达式取反。

      条件表达式结果是零时为False,非零时为True.

  • 相关阅读:
    最长递增子序列问题---动态规划
    Shell中判断语句if中-z至-d的意思
    Linux中shell变量$0,$?等含义
    LeetCode之链表
    linux命令之crontab定时执行任务
    linux命令之scp远程文件复制
    Linux命令之sed批量替换字符串操作
    tomcat安装出现问题及解决方法
    LeetCode之二叉树作题java
    mysql导入导出、阿里云内网传输
  • 原文地址:https://www.cnblogs.com/yagzh2000/p/2133345.html
Copyright © 2011-2022 走看看