エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
効率の良いパリティ計算方法 - Qiita
通信系のプログラムを書いていると、誤り検出のためにパリティビットを使用することがあります。 この記... 通信系のプログラムを書いていると、誤り検出のためにパリティビットを使用することがあります。 この記事ではuint32_t型の数値が与えられたときに、そのパリティを計算する関数を効率化することを紹介します。 関数の仕様 関数の仕様を以下のように決めます。 入力 uint32_t型の整数 出力 入力された整数を2進数で表現したときに、ビット1の数が偶数ならば0、奇数ならば1 とりあえず愚直に実装 とりあえずは、仕様を愚直に実装してみます。 32回のループを回して、1の数を数え上げています。 int parity(uint32_t val) { int count = 0; for(int i = 0; i < 32; i++) { if(val & 0x00000001) count++; val <<= 1; } return count & 0x00000001; }

