运算符

运算符
能完成一定功能的符号,如‘+’‘-’7.2 运算符优先级:两个不同的运算符,先算谁的问题

结合性:两个相同的运算符,先算谁的问题 赋值运算只能是右结合性的运算。

算术运算符
**自增自减运算符 ** 后置规则后算;前置规则先算;
** 逻辑值 ** 只有真和假两个结果

sizeof :是一个运算符,不是一个函数。求变量、数据类型、表达式的结果所占字节数。

 //表达式运算结果所占字节数
        NSLog(@"%lu",sizeof(3+4.1*0.5));
        x= 1;
        NSLog(@"%lu",sizeof(x = 1.0));   //表达式不会被运算

0C (共有6种)
二进制负数,用补码表示
1、补码:反码+1
6
00000110 原码
11111001 反码
11111010 补码

2、反码的计算公式:-1-(5)//-1减去补码

3、左移,系统自动补0

4、右移,系统自动补原来最高位的数,不一定是0
00000001 1
11111110
11111111 -1
<< 1
11111110 -2
11111101
00000010 2

1
11111111 -1

Paste_Image.png

5、^:异或运算符,相同为0,不同为1。

6、三目运算符:a>b?a:b —- 判断a是否大于b,是则取a的值(判断为真)否则取b的值(判断为假)

短路运算:是编译器对源程序的一种优化,即将不必要的代码删除的操作,
&&左边为假则右边不执行
||左边为假再执行右边

NSLog(@"%d",-5%-3);    //余数的符号仅仅与被除数相同,与除数无关。
NSLog(@"%d",5.3%3);    //浮点数不能求余数

**&: **相同为1;不同为0
**^: **不同为1,相同为0
&& 和 || 都是左边为真则右边不执行

posted @ 2017-08-28 14:23  笑笑就好90  阅读(145)  评论(0编辑  收藏  举报