タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

C言語に関するtsu-neraのブックマーク (2)

  • よしいずの雑記帳 ビット演算基本技集

    C 言語におけるビット演算の基テクニックを自分のためにメモ。 基技集 以下では、最下位を 0 ビット目と数えます。また、n は unsigned int 型とします。プログラム中、unsigned と型指定したものは、unsigned int 型として処理されます。定数の後ろにある U は、その定数が unsigned int 型であることを表します。 /* Nビット目を取り出す */ (n >> N) & 1 /* Nビット目に1をセットする */ n = n | (1 << N); /* Nビット目に0をセットする */ n = n & ~(1 << N); /* Nビット目を反転 */ n = n ^ (1 << N); /* 0ビット目からN-1ビット目までがすべて1である列の生成 */ n = (1 << N) - 1; /* 全ビットの反転 (1) */ n = ~n /*

  • Cの糖衣構文について - わさっきhb

    Cの糖衣構文(シンタックスシュガー)にどれだけあるか,調べてみました. 糖衣構文とその意義については,http://ja.wikipedia.org/wiki/%E7%B3%96%E8%A1%A3%E6%A7%8B%E6%96%87をご覧ください.「配列のアクセス」と「for文」が記載されているので,以下では省いています. 複合代入演算子: 「a += b;」と書けば「a = a + b;」を意味する演算子 += がその代表です.ただし,復号代入演算子を使うと,左辺値は一度しか実行されません.「*p++ += *q++;」という式を考えたとき(この式の使い道はよく分かりませんが)は「*p = *p + *q; p++; q++;」と等価です. 増分・減分演算子: 「a++;」は「a = a + 1;」です.前置と後置で意味が変わりますが,いずれにせよ,この演算子を使わない式で書き換えられま

    Cの糖衣構文について - わさっきhb
  • 1