ネットゲームforHSP『無人島』制作スレat GAMEDEV
ネットゲームforHSP『無人島』制作スレ - 暇つぶし2ch170:416 ◆HoSW/FCI
02/04/21 23:21
>>160
 ビットシフト(<<,>>)や論理演算(&,|,^)を使います。

 例えば、10進数「38725」は2進数で表すと「1001011101000101」です。めんどいので16ビットだけね。
 まず、1番下の8桁を取り出す場合は「a=38725&255」とします。ポイントは255で、2進数では「11111111」。さっきの式では

1001011101000101
0000000011111111 &(<-ズレるんでこっちに書きました)

0000000001000101 となります。論理演算子「&」は、両者が1だと1、それ以外だと0になるわけで。(1&1=1,1&0=0,0&1=0,0&0=0)

 次にその上の8桁を取り出すときは、「a=38725>>8」とします。すると、2進数が右にずれて「1111111110010111」になるはず。右にズレるとき、存在しない桁が左に現れるわけですが、たしか1になるはず。0かも(符号無しintが0だった記憶)。
 あとは、さっきと同じように「&255」すればok。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch