【初心者】スレを立てる前にココで質問を【Part18】at GAMEDEV【初心者】スレを立てる前にココで質問を【Part18】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト865:名前は開発中のものです。 09/03/02 01:34:20 RB8UFn8K ビットフィールドで検索汁 866:名前は開発中のものです。 09/03/02 02:34:22 5gkwIXGZ C++でビットフィールド使えたっけ? #define FLAG1 0x00000001 #define FLAG2 0x00000002 #define FLAG3 0x00000004 #define FLAG4 0x00000008 #define FLAG5 0x00000010 int flag = 0; flag |= FLAG1; flag |= (FLAG2 | FLAG3); if(flag & FLAG1) func(); flag ^= ~FLAG1; だったかな?ちょっと演算子は自信ないww 867:名前は開発中のものです。 09/03/02 04:13:56 Xl+iv3T+ >>862 他の人も言ってるようにビットフィールドだね。 ~ not。フラグを反転しておきたいとき。 | or。フラグを立てたい時。 & and。フラグが立っているか調べたい時。 ^ xor。特定のフラグを反転したいとき。 特定のフラグを寝かせたいとき。ビット反転したフラグをandする。 flags &= ~FLAG1; ある一連の桁から数値を取り出したいとき。例えば右からn桁目~n+4桁を取り出す場合。 あらかじめフラグを用意しておいてandし、シフトする。 int value = (flag & ((15) << n)) >> n; 逆に特定の桁へ数値を代入したいとき。一度寝かせてからシフトした値をorする。 flags = (flags & ~(15 << n)) | (value << n); 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch