您的位置:首页 > 其它

Day3-进制转换、位运算、三目运算符、switch、if

2015-12-26 22:51 351 查看
A>b?a:b 三目运算符
若A>b则返回值为a否则为b

三目运算符的嵌套:不到万不得已不要用,因为编写复杂易出错,难阅读

位权进制法:简单来说,二进制则乘对应的2的平方
然后总和相加

2进制—>8进制
三合一算法 将二进制分成三个一组
不够的补0 随后每组单独算出一个十进制数,组合在一起(是组合,不是加减乘除) 

2进制—>16进制
四合一算法 将二进制分成四个一组
不够的补0 然后每组单独算出一个十进制数,组合在一起

8进制—>2进制
一拆三算法  将数拆成一个一个来单独每个算
如17则拆成 ’ 1 ’
和 ‘ 7 ’然后转化成二进制后组合在一起,不够的部位补0

16进制—> 2进制
一拆四算法 将拆成一个一个来单独每个算
如1f则拆成 ’ 1  ‘
和 ’ f ’ 然后转换成二进制后组合在一起,不够的部位补0

10进制—>
其它进制 转换8进制就除8
转换哪个除哪个 除后求余
算式从下往上组合在一起

位运算的算式符:&   |    ^   ~    <<   >>

位运算:将当前数转换成二进制再运算

&与运算,|
非运算 

格式:9&1 

^异或
相同为0 不同为1

~取反
符号位一块算 算出来的是一个补码
补码转换源码后的值即为结果值

<<按位左移 
左移一位 扩大2倍 
注意会改变符号 格式如:8<<2 

>>按位右移 
缩小 不会改变符号,因为补得跟符号位一样

黄色叹号是警告
黄色点是修正

if(判断语句){

执行语句;

}else if(判断语句){

执行语句;

}else{

执行语句;

}

if里面的变量,从定义开始到大括号结束

if如果省略大括号则只控制接下来的一条语句

arc4random_uniform(x);生成一个随机数,范围在0 ~ x-1

switch(表达式){

case 1 :



break;

case 2:

…..

…..

default:



break;

}

 switch后面只能是常量或常量表达式以及有确定值的变量,必须是
a38e
一个整数

default可以放在任意位置,且意义不变

break代表switch语句到此结束

switch遇到 ’ } ‘
也会结束

判断区间或范围的时候用if

判断固定值的时候用switch

(消除Bug神器)debug :
点一下行码数开始打断点
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: