总结:
今天学的还是操作符,顺便了解了一下整数在内存中储存和运算的形式。
内容:
1.按位取反符“~”:即把以二进制存在的数字中的1全部变为0,0全部变为1,例如整数0(0000000000000000000000000000000)变为(11111111111111111111111111111111),成为整数-1。
值得注意的的是,整数中负数和正数的二进制类型有三种:
(1)原码
(2)反码
(3)补码
以负数-1举例:
(1)原码:10000000……001,首字“1”是符号位,“1”代表着负数。
(2)反码:111111111……110,除了符号位以外,其余比特位全部反转。
(3)补码:111111111……111,反码加1
而正数的原码、反码、补码都一样。
整数在计算机中以补码形式储存和运算,最后打印时要转换到原码打印。
2.前置和后置操作符:++、--:
举例说明:
int a=1
int b=++a
最后a=2,b=2,使用“--”的话a=0,b=0
int a=1
int b=a++
最后a=2,b=1,使用“--”的话a=0,b=1
前置和后置的操作符区别就在于是先执行加减还是先执行赋值。
3.逻辑操作符“&&”和“||”:
“&&”代表着逻辑“与”
“||”代表着逻辑“或”
它们就如同数学判断真假性质一般,两个真“与”一起就是真,两个假“与”一起就是假,真假一起“与”就是假,“或”则两者有一个为真就是真,真假用“1”“0”来代替,这里可以用它来执行if的操作。
4.条件操作符(三目操作符):
exp1?exp2:exp3(格式)
int a=1
int b=0
int max=0
if(a>b)
max=a
else
max=b
等同于
int a=1
int b=0
int max=0
max=a>b?a:b
5.逗号表达式:
int a=0
int b=3
int c=5
int d=(a=b+2,c=a-4,b=c+2)
d的结果即为从左到右计算的最右边表达式的结果