码制
正数: 补码=反码=原码,
负数: 反码为原码符号位变1,数值位取反;补码为反码数值位加1,符号位为1;
移码: 补码的符号位按位取反;
加减运算用补码; 移码只用于浮点数;
原码中,0有两种标识,一种是+0:00000000,另一种是-0: 10000000; 所以原码和反码的整数表示范围会少一个; 补码 是通过认为规定将10000000规定位-128的补码;
浮点数表示
N=尾数*基数^指数/阶码
在计算机当中,基数不存储,尾数用补码表示,在特殊的约定中可以用原码表示;
特点: 1.一般尾数用补码,阶码用移码;
2.阶码的尾数决定数的表示范围,位数越多范围越大;
3.尾数的尾数决定数的有效精度,位数越多精度越高;
4.对阶时,小数向大树看齐;
5.对阶是通过比较小数的尾数右移实现的;
逻辑运算
关系运算符:
(高)优先级相同: <,<=,>,>=
(低)优先级相同: ==,!=
关系运算符的优先级低于算数运算符,关系运算符的优先级高于赋值符号;
逻辑运算符
逻辑或:||,+,U,V,OR 连接的两个逻辑值全0才取0
逻辑与:&&,*,AND 链接的两个逻辑值全1才为1
逻辑异或:XOR 两个逻辑值不同才取1
逻辑非:!,NOT,- 将原逻辑值取反
运算顺序: 先做!,然后算数运算(先乘除后加减),再关系运算(>,>=,<,<=,==,!=),最后逻辑运算(与,或) ;
短路原则
在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行.
短路逻辑与中,第一个值为假,就不需要再计算后面的值;
短路逻辑或中,第一个值为真,就不需要再计算后面的值;