class One
{
public static void main(String args[])
{
int i=100;
i=((i++ >> 35) << 32)%10;
System.out.println() ;
}
}怎么是2那 ,很头疼
对不起啊 新手没分
{
public static void main(String args[])
{
int i=100;
i=((i++ >> 35) << 32)%10;
System.out.println() ;
}
}怎么是2那 ,很头疼
对不起啊 新手没分
12 << 32 就是 12 << 0 值为 12
12 % 10 = 2这题从哪弄来的?闲着没事干,移 35 位,移 32 位的!
1.++优先级大于移位的啊,应该是先右移35位+1,然后再左移32位啊,是这个意思不啊;
2.12<<32就是12<<0,是不是移到上限就不移了啊,对不住啊 我笨!
13 << 32 就是 13 << 0 值为 13
13 % 10 = 3指出我满脑子是菌的思想
也可以使用javap -c 命令对Class反编译,就一切明了了
i++ >> 35 就是 i >> 3 值为 12
12 << 32 就是 12 << 0 值为 12
12 % 10 = 2
建议你先看看++在前面和后面的区别