运算符 结晶

逻辑运算符

优先级:  !  >>   &&   >>  ||

短路规则:

||  从左向右开始计算,当遇到为真条件时停止计算, 整个表达式为真;所有条件为假时,表达式为假

&& 从左向右开始计算,当遇到为假条件时停止计算, 整个表达式为假;所有条件为真时,表达式为真

C中逻辑符 只认得0,见了0就返回1.

当其作用值不是0时,其结果为0.

三目运算符

三目运算符(a?b:c)可以作为逻辑运算符的载体

规则:当a的值为真时,返回b的值;否则返回c的值

逗号运算符

逗号运算符

一般形式:表达式1,表达式2,表达式3......表达式n

求解过程:先求解表达式1,再求表达式2....整个逗号表达式的值是表达式1或n的值

1.  x=(a=3,6*3)    赋值表达式,将一个逗号表达式的值赋值给x,x的值为18.

2.  x=a=3,6*a       逗号表达式,包括一个赋值表达式和一个算术表达式,x值为3

算术运算符

+ - *  /  %<取模>

作除数和求余,商的正、负和除数有关,和被除数无关

求余时,被除数只可以为整型

位运算符

1 0 1 0 1 0 0 1
第七位 第六位 第五位 第四位 第三位 第二位 第一位 第零位

1 <<5  1左移到第五个位置

0x... 0010 0000

位与运算符 (&)

参加运算的两个数据,按二进制位进行“与”运算

运算规则: 0&0=0;   0&1=0;     1&1=1;

即:两位同时为“1”,结果才为“1”,否则为0

例如:3&5  即 0000 0011 & 0000 0101 = 0000 0001   3&5 的值得1

与运算 用途:

(1) 清零  如果想将一个单元清零,只要与一个各位都为零的数值相与,结果为零

(2) 取一个数中指定位

方法:找一个数,对应X要取的位,该数的对应位为1;其余位为零,此数与X相与即可

例:设X=10101110,

取X的低4位,用 X & 0000 1111 = 0000 1110 即可

位或运算符 (|)

参加运算的两个对象,按二进制位进行“或”运算

运算规则:  0|0=0;  0|1=1;     1|1=1;

即: 参加运算的两个对象只要有一个为1,其值为1

例如:3|5 即 0000 0011 | 0000 0101 = 0000 0111  3|5的值得7

或运算作用:

(1)常用来对一个数据的某些位置1

方法:找到一个数,对应X要置1的位,该数的对应位为1,其余位为零.此数与X相或即可

例: 将X=10100000的低4位置1 ,用 X | 0000 1111 = 1010 1111即可

异或运算符 (^)

参加运算的两个数据,按二进制位进行“异或”运算

运算规则: 0^0=0;   0^1=1;   1^0=1;   1^1=0

即:参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为0

异或运算作用:

(1) 使特定位翻转  找一个数,对应X要翻转的各位,该数的对应位为1,其余位为零,此数与X对应位异或即可

例: X=10101110,使X低4位翻转,用X ^ 0000 1111 = 1010 0001即可

(2) 与0相异或  保留原值 ,X ^ 0000 0000 = 1010 1110

取反运算符 (~)

参加运算的一个数据,按二进制位进行“取反”运算

运算规则: ~1=0;   ~0=1;

即:对一个二进制数按位取反,将0变1,1变0

取反运算作用:

(1) 使一个数的最低位为零,可以表示为:a&~1

~1的值为1111111111111110,再按“与”运算,最低位一定为0.

运算符优先级

~  >> 算术运算符  >> 关系运算符 >> 逻辑运算符

左移运算符 (<<)

将一个运算对象的各二进制位全部左移n位 (高位丢弃,低位补0)

例: a = a << 2 将a的二进制位左移2位,低位补00

左移2位后相当于a  =  a * 2 *2;

若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2

右移运算符 (>>)

将一个数的各二进制位全部右移n位,正数高位补0,负数低位补1,右边丢弃

操作数每右移一位,相当于该数除以2

例如: a = a >> 2 将a的二进制位右移2位

防错准则

避免位运算符,逻辑运算符和数学运算符同时出现在一个表达式中

如果需要同时运算,尽量用( )来表达计算顺序

小技巧

左移n位相当于乘以2的n次方,效率比数学运算符高

右移n位相当于除以2的n次方,效率比数学运算符高

运算符 结晶,布布扣,bubuko.com

时间: 2024-09-26 20:18:45

运算符 结晶的相关文章

java中的三元运算符详解

最近在带领实习生中遇到很多新手问与三元运算符有关的java题目,多数为代码结果题,少数为应用题.鉴于很多资料上对于java三元运算的讲解过于简单,网上的资料与题目也不是很完善,对于结果答案分析不一,故在此总结,当然仅为个人观点,水平有限,不足之处,还请大家多多指出,互相交流学习. 什么是java三元运算符呢?无疑其操作元有三个,第一个是条件表达式,剩余两个为值,条件表达式为真时运算取第一个值,为假时取第二个值. 其示例代码如下:boolean a = 20 < 45 ? true : false

Mysql运算符与函数(胖胖老师)

use test;create table `employee`(    emp_no int unsigned,    emp_name varchar(30),    emp_sex varchar(3),    emp_age tinyint unsigned,    sal double,    history datetime);insert into employee values(1, '张三', '男', 18, 5000, '2012-04-23'),(2, '李四', '男'

MySQL数据库中的算术运算符

MySQL数据库中的算数运算符 MySQL数据库中的算术运算符 一.运算符的概述: 运算符在MySQL数据库中也是很重要的知识体,在执行sql语句的时候这个运算符对操作数据帮助很大.其中运算符的运用可以帮助你减省大量的时间,操作起来也比较灵活. 二.运算符 运算符主要包括"算数运算符"."比较运算符"."罗运算符"."位运算符"四大类,下面我们就一次学习一下. 1.算术运算符 算术运算符在sql语句的时候经常使用,例如对表的字

重载&gt;&gt;运算符

#include <iostream>   #include <stdio.h>   using namespace std;   class Input   {       public:          //实际重载是右移运算符          Input & operator >> (int &a)          {              scanf("%d",&a);              fflush

JS中的运算符&amp;JS中的分支结构

一.JS中的运算符 1.算术运算(单目运算符) + 加.- 减.* 乘./ 除.% 取余.++ 自增.-- 自减 >>> +:有两种作用,连接字符串/加法运算.当+两边全为数字时,进行加法运算: 当+两边有任意一边为字符串时,起连接字符串的作用,连接之后的结果为字符串 除+外,其余符号运算时,会先尝试将左右变量用Number函数转为数字 >>> /: 结果会保留小数点 >>> ++: 自增运算符,将变量在原有基础上+1: --: 自减运算符,将变量在原

java基础语言 运算符

/* ++,--运算符的使用: 单独使用: 放在操作数的前面和后面效果一样.(这种用法是我们比较常见的) 参与运算使用: 放在操作数的前面,先自增或者自减,然后再参与运算. 放在操作数的后面,先参与运算,再自增或者自减. 作用:就是对变量进行自增1或者自减1. */ public class Text3 { public static void main(String[] args) { //定义两个变量 int x = 3; int y = 4; //单独使用 //x++; //y--; ++

集合和三元运算符

一.三元运算符 如下判断可以使用三元运算更方便的实现: a = 1b = 2 if a > 1: c = aelse: c = b 和下面是一样的: a = 1b = 2#下面这个c = a if a>1 else b 如下两种方法也是一样的:方式一: s=[]nums = list(range(1,11))for i in nums: if i%2==0: s.append(i)print(s)方式二:ss = [i for i in nums if i%2==0]print(ss)#这两种

2_C语言中的数据类型 (八)运算符

1          运算符表达式和语句 1.1       基本运算符 1.1.1          = 数据对象:泛指数据在内存的存储区域 左值:表示可以被更改的数据对象 右值:能赋给左值的量 1.1.2          + 加 1.1.3          – 减 1.1.4          * 乘 1.1.5          / 除 1.1.6          % 取余数 1.1.7          += 加等于 1.1.8          -= 减等于 1.1.9     

(17)Powershell中的重定向运算符

默认情况下,Powershell 把输出发送到屏幕显示.但是,Powershell也可以将输出重定向至一个文本文件,或将错误输出重定向至常规输出流. 重定向运算符有什么用 ? 重定向运算符意味着我们可以将命令的输出信息输出到指定的文件,完全满足脚本中的log的要求,即可以利用重定向打印脚本或命令执行的详细信息. Powershell 中有以下重定向运算符. 运算符 说明 示例 > 将输出发送到指定文件. PS D:\> Get-Process > process.txt >>