FC2ブログ

ビット演算について 

ひさびさに更新してみる
今回はビット演算についての忘備録。

PSPのボタンのビットフラグについての小ネタ

1. 選択したボタンだけ除外する

u32 buttons = pad.Buttons & ~(選択したボタン)

これは選択したボタンのビットを反転させ、AND演算で選択したボタン以外の
pad.Buttonsのボタンを取得しています

ビットを反転させると、0->1, 1->0となり選択したボタン以外の
ビットフラグが立っている状態になりpad.ButtonsのビットフラグとAND演算すると、
選択したボタン以外のpad.Buttonsのボタンが取得できるというわけです。


2. 選択したボタンが押されていない状態の取得

if((pad.Buttons & 選択したボタン) == 0)

これは簡単です。pad.Buttonsと選択したボタンをAND演算で計算して、
値が0ならば何も押されていないということになります

今回はここまで。
なんか説明がおかしいというか、自分のイメージで書いてたから
意味不明かも…

p.s.
pad.Buttonsは入力したボタンのビットフラグです。
選択したボタンはOR(|)でくっつけることができます
スポンサーサイト
このコメントは管理人のみ閲覧できます
[ 2012/03/28 01:53 ] [ 編集 ]
このコメントは管理者の承認待ちです
[ 2014/08/11 08:59 ] [ 編集 ]
このコメントは管理者の承認待ちです
[ 2014/09/04 00:34 ] [ 編集 ]
コメントの投稿













管理者にだけ表示を許可する