码迷,mamicode.com
首页 > 其他好文 > 详细

运算符

时间:2017-09-17 13:38:45      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:逻辑   读取   col   个数   ==   运算符   类型   blog   规范   

算术运算符:

  • +、-、*、/、%:

%  取模运算   可以得到两个数相除的余数

  • ++、-- 自增、自减:

++example  前++

int b = ++a;
//相当于a= a+1;b=a;a自增处理完后再把值赋给int数据类型b变量
int a = 13;
int b = ++a;
//前加加    由a = a+1;b = a;    推出int a = 14,int b = 14;

example++  后++

int b = a++;
//相当于b = a;a = a+1;a赋值给变量b之后a自增
int a = 13;
int b = a++;
//后加加    由b = a;a = a+1;    推出int b = 13,int a = 14;

 编译出错  意外类型

int b = ++(++a)--;
/*
前后加加有规范,不能随心所欲 处于栈空间不稳定状态,无法读取a类型以及具体数值,确定不了类型于是报出:意外类型错误 */

自减同理


 

  • 复合赋值运算符:

+=、-=、/=、%=、&=、|=、>>=、<<=、^=:

a += b;//即a = a + b;

以此类推


 

  • 关系运算符:

>、<、==、>=、<=、!=  大于、小于、等于、大于等于、小于等于、不等于


 

  • 逻辑运算符:

用于判断逻辑关系的运算符  

&&  与

true && false    //false

true && true    //true

||  或

true || false   //true

true || true    //true

!  非

!true == false    //false

!false == true    //true

总结:

与 全真才是真  

或  只要有一个条件为真即是真  

非  结果取反


 

  •  位运算符:

按位与运算符  &

0 & 0 = 0;0 & 1 = 0; 1 & 1 = 1;

3 & 6

0011 & 0110 = 0010

3&6=2

按位或运算符  |

0 | 0 = 0; 
1 | 0 = 1; 
1 | 1 = 1;

3 | 6

0011 & 0110 = 0111

3 | 6 = 7

按位异或运算符  ^

0 ^ 0 = 0;
1 ^ 0 = 1;
1 ^ 1 = 0;

3 ^ 6

0011 ^ 0110 = 101

3 ^ 6 = 5


3^6^3 = 6

3^6^6 = 3

取反运算符  ~

~1 = 0; ~0 = 1;

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

左移运算符  <<

1 << 2

0001 << 2 = 0100 = 4

左移向右补0,每左移1位相当于改数乘以2

右移运算符  >>

4  >> 2

0100 >>2 = 0001 = 1

右移向左补0,操作数每右移1位,相当于该数除以2

-5 >> 2
负数的二进制:
先取正值的原码,再进行按位取反操作,再进行加1操作.(负数的补码就是负数的原码,并不考虑正数的原码反码补码都是其本身)
0000,0101 ->1111,1010->1111,1011

得到负数补码后,负数左补1右边溢出位数将舍弃,将再补码减1,得到负数反码,再进行按位取反得到正数原码,正数原码再转成十进制,得到正数十进制数后,再向其取相反数. 1111,1011 >> 2 = 1111,1110->1111,1110-1->1111,1101->0000,0010->2->(-2)

无符号右移运算符 >>>

-5>>>2

无符号位右移 按照数值类型位长,进行向左补0,移出的右边位被丢弃

11111111,11111111,11111111,11111011->00111111,11111111,11111111,11111110

00111111,11111111,11111111,11111110=1073741822

没有无符号左移,因为左移至始至终是在右补0,不会产生符号问题;

也就是左移不能改变一个数的正负性质。

右移取决前面的符号位0或者1,右移正负数性质会产生补0或1的问题;

无符号右移因为向左补0,改变了符号位,则会将负数转换成正数性质。

运算符

标签:逻辑   读取   col   个数   ==   运算符   类型   blog   规范   

原文地址:http://www.cnblogs.com/realjanushu/p/7532993.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!