技术随笔:求y=(x++)/(--x)的分析过程

求解输出y的值:

package ITCast;

class outer {
public static void main(String[] args) {
int x = 2;
int y = (x++)/(--x);
System.out.println(y);
}
}

 

分析过程:

  0. 假设x 所在的寄存器为R1

  1. 先把x的初值2存入寄存器假设为R2, 并用此值作为除数。

  2. 然后把x 的值自加1 存入寄存器R1,x 的值变为3 此时已完成(x++)这一步骤。

  3. 这时考虑被除数: x 先自减1(记住开头时说明:x 在寄存器 R1) ,此时x的值由3变为2.作为被除数。

  4. 最后 2/2=1;

posted @ 2011-12-18 16:15  ITMelody  阅读(275)  评论(0编辑  收藏  举报