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后面只能是常量或常量表达式以及有确定值的变量,必须是一个整数
default可以放在任意位置,且意义不变
break代表switch语句到此结束
switch遇到 ’ } ‘ 也会结束
判断区间或范围的时候用if
判断固定值的时候用switch
(消除Bug神器)debug : 点一下行码数开始打断点