操作符
数在内存的范围,由自身的类型决定,数据在内存中都是以二进制进行保存,0,1代码
符号位:0表示正数 1负数
int类型在内存中占有4个字符,32bits
1算数操作符
+ - * / %
除了%操作符之外,其他的几个操作符可以作用于整数和浮点数
对于/操作符如果两个操作符都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法
%(取余运算符)操作符的两个操作数必须是整数,返回值为整除之后的余数
2移位操作符
移动的是二进制,数据在内存中以补码的形式进行保存
正整数的源码,反码和补码相同
例如;
负整数的源码,反码和补码不相同
原码到反码,符号位不变,其它位取反
补码;反码+1
例如
c语言在查看内存结构时显示的是16进制
左移操作符;<<
移位规则(移动2进制位);左边抛弃,右边补0(向左移动一位相当于给原数×2
右移操作符;>>
逻辑移位;右边抛弃,左边用0填充
算数移位;右边抛弃,左边补符号位(向右移动一位相当于给原数除以2)
3位操作符
& 按位与(有0全为0,全1才是1)
| 按位或(有1全为1,全0才是0)
^ 按位异或(相同为0,不同为1)
~按位取反
a^a^b=b
4赋值操作符
右边表达式的值赋给左边的变量
5复合赋值运算符
6单目操作符
sizeof是操作符,用来获取变量在内存中分配空间的大小
如果后面是变量名,括号可以省略,如果是数据类型,括号不能省略
可以通过地址访问对应地址空间中的内容,使用解引用操作符*
++自增 k++=k+1
k++与++k的区别
k++是先使用,在自增
++k是先自增,在使用
--自减