问你们一道JAVA题,谁会做?

来源:百度知道 编辑:UC知道 时间:2024/05/29 05:45:22
int x=1;
int y=~x+1; .........(~在Esc键下的那个键上)
System.out.println(x+""+y)

我在电脑上运行了结果为: 1 1

谁知道它是怎么算出来的,那个符号为什么意思!

~是位运算

非 ~

-------------
~1=0 ~2=~10(2进制)=01(2进制)==1

y=~x+1=~1+1=0+1=1

当然是 1 1 了

~ x=0 y=1 0+1=1

正在安装winhdows microsoft word功能

结果应该是1 -1吧
~是按位取反运算符
我们的机器多数是32位的,整型数占4字节,1的表示:
00000000 00000000 00000000 00000001
取反为:
11111111 11111111 11111111 11111110
该值为-2
y的运算结果自然是-1了

“~“是位运算符,把数字换算成ACSII码计算,具体指什么忘了,因为平常用不到,你再查查吧(好像是“非”的意思)