2010年10月31日日曜日

Android: bitwise shift operator (シフト演算子)

 僕はAndroidとJavaには初心者ですから、困ることがたくさんあった。今回はAndroidアプリ開発でシフト演算子を使ってバイト配列の2バイトからcharに変更したいですけど、なんで結果は思ったとおりではありません。
 コードは:char wCode = (char)((buf[0]<<8)+buf[1]);//byte[] buf;
 間違いはどちらですか分かりませんですけど。でも下どおり直したら解決できます。
 char wCode = (char)(((buf[0]<<8)&0xFF00)|(buf[1]&0xFF));
どなたがご存知だったら、教えていただきます。

0 件のコメント:

コメントを投稿