龍神録プログラミング第9章に関して
Posted: 2011年3月29日(火) 20:40
こんばんは、滝の上です。
龍神録のプログラムを練習し始めたのですが、第9章のところで詰まってしまいました。
[coad]
void GetHitPadStateAll(){
int i,PadInput,mul=1;
PadInput = GetJoypadInputState( DX_INPUT_PAD1 );//パッドの入力状態を取得
for(i=0;i<16;i++){
if(PadInput & mul) pad.key++;
else pad.key=0;
mul*=2;
}
[/coad]
上のコードの中の特に
if(PadInput & mul)
この部分が分かりません。
ビット演算で1か0を返すということは分かりました。
とりあえず、PadInputには0x///////というものが入っているということは分かったのですが。
どう2進数に切り替えているのかが分かりません。
16進数からの変換・・・・かな、と思ったのですが、どうなのでしょうか?
16進数の変換は一応、学んだのですが、0x////////から変換ということは初めてだったのでこの変換についても教えていただけるとうれしいです。(もしくは、参考サイト等ありましたら教えてください)
龍神録のプログラムを練習し始めたのですが、第9章のところで詰まってしまいました。
[coad]
void GetHitPadStateAll(){
int i,PadInput,mul=1;
PadInput = GetJoypadInputState( DX_INPUT_PAD1 );//パッドの入力状態を取得
for(i=0;i<16;i++){
if(PadInput & mul) pad.key++;
else pad.key=0;
mul*=2;
}
[/coad]
上のコードの中の特に
if(PadInput & mul)
この部分が分かりません。
ビット演算で1か0を返すということは分かりました。
とりあえず、PadInputには0x///////というものが入っているということは分かったのですが。
どう2進数に切り替えているのかが分かりません。
16進数からの変換・・・・かな、と思ったのですが、どうなのでしょうか?
16進数の変換は一応、学んだのですが、0x////////から変換ということは初めてだったのでこの変換についても教えていただけるとうれしいです。(もしくは、参考サイト等ありましたら教えてください)