![【MySQL】ビットフラグで格納されている値を、マスタテーブルで定義された日本語名に変換して出力するSQL | バシャログ。](https://cdn-ak-scissors.b.st-hatena.com/image/square/20c0b0df62783283e7ba333774006e31f6235c74/height=288;version=1;width=512/https%3A%2F%2Fbashalog.c-brains.jp%2Fimages%2Fdb01.jpg)
DBのテーブル設計を行うときにフラグを持つフィールドは、それぞれtinyint(1)とかでフィールドを作って0 or 1を入れるようにしていました。 [sql title=”こんなかんじで”] CREATE TABLE `sample_old` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘ID’, `flg1` tinyint(1) unsigned NOT NULL DEFAULT ‘0’ COMMENT ‘フラグ1’, `flg2` tinyint(1) unsigned NOT NULL DEFAULT ‘0’ COMMENT ‘フラグ2’, `flg3` tinyint(1) unsigned NOT NULL DEFAULT ‘0’ COMMENT ‘フラグ3’, `flg4` tinyint(1) unsig
某所でこんな質問をもらいまして。 うん確かに「ビット演算がわからない」と、それ以上に「なにに使うのかがわからない」って話はよく耳に目にするところなので。 せっかくなんで、Blogで返答をいたしますw 質問は、これ。 ビット演算子のこの部分が $a = 0xFF; $b = 0xF0; $c = $a & $b; var_dump($c); echo sprintf("%08b\n",$c); //2進数で出力11110000 よくわかりません。 この11110000って、16進数だとF0、10進数に戻すと240になります。なので、直接F0を2進数にすればいいのに。。。(2進数にするやりかたわからないのですが^^;) $a & $bは教科書には$a及び$bの両方にセットされているビットをセットするって書いてあります。なんですかこれ^^; ビット演算子についてあまり理解ができていないからかもし
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く