位运算操作的应用场景有哪些?
吴佳峻 2010-01-08 04:27:57 有一些位运算符的算法感到不解,还有就是它的应用场景。
例子一:
public static int readInt4RS(RecordStore rs,int recordid){
byte [] tmp=new byte[4];
try {
tmp = rs.getRecord(recordid);
}
catch (Exception ex) {
}
int result=(tmp[0]&0x0000ff);
result=(result<<8)+(tmp[0]&0x0000ff);
result=(result<<8)+(tmp[0]&0x0000ff);
result=(result<<8)+(tmp[0]&0x0000ff);
return result;
}
它是怎么转换成整形的呢?
例子二:
public static final int GK_UP = 1 << 0;
public static final int GK_DOWN = 1 << 1;
public static final int GK_LEFT = 1 << 2;
public static final int GK_RIGHT = 1 << 3;
public static final int GK_NUM0 = 1 << 4;
public static final int GK_NUM1 = 1 << 5;
public static final int GK_NUM3 = 1 << 6;
public static final int GK_NUM5 = 1 << 7;
public static final int GK_NUM7 = 1 << 8;
public static final int GK_NUM9 = 1 << 9;
public static final int GK_STAR = 1 << 10;
public static final int GK_POUND = 1 << 11;
public static final int GK_SOFT_LEFT = 1 << 12;
public static final int GK_SOFT_RIGHT = 1 << 13;
public static final int GK_MIDDLE = 1 << 14;
public static final int GK_RETURN = 1 << 15;
为什么不直接1到15,而要这样做呢?
刚学J2ME,有些底层算法还有应用场景不是很理解,望指教,还有要学好J2ME需要学习哪些东西,刚看了
游戏框架的状态机制,希望高人指点。