山不在高,有仙则名。水不在深,有龙则灵。
——csdn时时三省
算术操作符
这个时候打印出来的是整数 不会打印小数点后面的数字 因为它是int类型
只用把他换成浮点型并且它的两个数里面有一个必须是小数 才可以算出来小数
示例:
%操作符的两个操作数必须为整数。返回的是整除之后的余数
移位操作符
<< 向左移动一位
>> 向右移动一位
相当于把a的二进制位向左移动一位
a的2进制位是这样的
00000000000000000000000000000010
移动之后是这样
00000000000000000000000000000100
结果就是4了
左移操作符:
左边丢弃,右边补0
a的2进制位是这样的
00000000000000000000000000001010
移动之后是这样
00000000000000000000000000000101
结果是5
右移操作符:
1.算术右移
右边丢弃,左边补原符号位
2.逻辑右移
右移丢弃,左边补0
当前的右移操作符使用的:算术右移
负数:-1
存放在内存中
存放的是二进制的补码
整数的二进制表示形式:有三种
原码:直接根据数值写出的二进制序列就是原码
反码:原码的符号位不变,其他位按位取反就是反码
补码:反码+1,就是补码
对于正整数来说 原码补码反码相同
位操作符
& 按位与
| 按位或
^ 按位异或
注意:他们的操作数必须是整数
&示例:
&按(二进制)位与
3的二进制位是
00000000000000000000000000000011
5的二进制位
00000000000000000000000000000101
&之后是
00000000000000000000000000000001
3跟5对应的二进制位里面只要有0按位与的结果就是0 两个都是1才会是1
|按位或示例
3的二进制位是
00000000000000000000000000000011
5的二进制位
00000000000000000000000000000101
|按位或之后是
00000000000000000000000000000111
3跟5对应的二进制位里面只要有1按位与的结果就是1 两个都是0才会是0
^按位异或示例
按(二进制)位异或
对应的二进制位进行异或
规则:相同为0,相异为1
3的二进制位是
00000000000000000000000000000011
5的二进制位
00000000000000000000000000000101
&之后是
00000000000000000000000000000110
结果就是6