
在Java中为什么5^2等于7
在Java中为什么5^2等于7
0101 5
0010 2
^是异或
将对应bit异或 bit相同则为0 不同则为1
所以5^2后就是0111 转化为十进位制就是 1 + 2 + 4 = 7
在C/C++中,操作符-=称为自反运算子(类似的还有+=、*=、/=、&=、|=等等), x+=3; 就是x=x+3;
java中为什么~6等于-7 说详细点
以一个位元组为例:
6=0000 0110
~6表示按位取反=1111 1001
因为计算机中储存的是补码,解释一下这个补码的值
减1,变成反码 1111 1000
首位为符号位,不变,其余取反,转为原码:1000 0111 = -7
java中2%5++为什么等于2
2%5++ 这个表示式,先执行 5++ 因为是 ++ 在后,所以先执行表示式,执行完再执行 ++ ,所以表示式为 2%5 ,而2与5取余商0余2,所以最终表示式的值是 2
java中5%3 为什么等于2
%表示的取余数,也就是说:5除以3余2,而我要得到的就是余数2
java中-5>>2等于-1是为什么?
-5的二进位制表示是(-........0101)
-5>>2表示,-5右移两位二进位制,最右边两位移出,左边补0,符号位不变,
二进位制结果是(-.....0001),就是十进位制的-1了。
JAVA中为什么void function(Animal c)等于Animal c=new Cat();
Animal c = new Cat(); 是Java中多型的一种体现
父类引用子类例项 或是介面型别引用实现类例项
function(Animal c) 说明这个方法需要传入一个Animal型别引数
java -5>>>2 为什么等于1073741822
-5 转为二进位制形式如下:
11111111 11111111 11111111 11111011
右移2位后(不保留符号位)如下:
00111111 11111111 11111111 11111110
转为10进位制就是 1073741822
在化学中为什么1+1不等于2?
这么简单,一滴水加一滴水=一滴水啊!子之间都有空隙,所以它们相互“钻空子“ 啦~!