java 一道小问题
发布网友
发布时间:2024-09-26 23:33
我来回答
共3个回答
热心网友
时间:2024-10-10 13:52
先把变量i转成二进制,
F=1111
1=0001
就应该是1111......11110001
j是i按位取反
就应该是0000......00001110,前面的可以忽略掉了
也就是1110,
1110转成十进制就是14 (8+4+2+0)
热心网友
时间:2024-10-10 13:52
首先 i = 0xFFFFFFF1 也就是i=-15;
~i 也就是对-15按位取非 ,就是说向前移一位,也就是-14,然后-14再取非就变成14了...明白?
热心网友
时间:2024-10-10 13:53
其实很简单:你可以这样看,i 的二进制表示是:
1111 1111 1111 1111 1111 1111 1111 0001
,取反后便成了:0000 0000 0000 0000 0000 0000 0000 1110,便是 0x0000000E 了,即 14.
热心网友
时间:2024-10-10 13:52
先把变量i转成二进制,
F=1111
1=0001
就应该是1111......11110001
j是i按位取反
就应该是0000......00001110,前面的可以忽略掉了
也就是1110,
1110转成十进制就是14 (8+4+2+0)
热心网友
时间:2024-10-10 13:52
首先 i = 0xFFFFFFF1 也就是i=-15;
~i 也就是对-15按位取非 ,就是说向前移一位,也就是-14,然后-14再取非就变成14了...明白?
热心网友
时间:2024-10-10 13:53
其实很简单:你可以这样看,i 的二进制表示是:
1111 1111 1111 1111 1111 1111 1111 0001
,取反后便成了:0000 0000 0000 0000 0000 0000 0000 1110,便是 0x0000000E 了,即 14.
热心网友
时间:2024-10-10 13:52
先把变量i转成二进制,
F=1111
1=0001
就应该是1111......11110001
j是i按位取反
就应该是0000......00001110,前面的可以忽略掉了
也就是1110,
1110转成十进制就是14 (8+4+2+0)
热心网友
时间:2024-10-10 13:52
首先 i = 0xFFFFFFF1 也就是i=-15;
~i 也就是对-15按位取非 ,就是说向前移一位,也就是-14,然后-14再取非就变成14了...明白?
热心网友
时间:2024-10-10 13:53
其实很简单:你可以这样看,i 的二进制表示是:
1111 1111 1111 1111 1111 1111 1111 0001
,取反后便成了:0000 0000 0000 0000 0000 0000 0000 1110,便是 0x0000000E 了,即 14.