関連記事
- 【#CSHARP】ソリューション内でサービス,Winformアプリを混在で作成させ,バイナリ出力先を同じにするとサービスが起動しない 【2024年02月08日(木)】
- 【#PHP】謎な #Laravel 案件 引き渡したじ 【2024年01月11日(木)】
- 【C#】謎な改造アプリ,SIMD命令を導入して高速化しようか,思案中 【2023年11月14日(火)】
- Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング 【2023年10月18日(水)】
- 【#CSHARP】次の案件のスケルトン書いてgitサーバに登録するなどと 【2023年05月16日(火)】
仕事で必要になったんで、ちょろっと、グレイコード変換クラス、書き起こしてみましたわん!
バグってたら、すまそ(ww
using System; using System.Collections.Generic; using System.Text; namespace bMountLibrary { public class GrayCode { public GrayCode() { } private const uint MASK_PATTERN = 0x00000001; //----------------------------------- //バイナリをグレイコードへ変換 // // dat : 元のバイナリ値 // // return : グレイコード //----------------------------------- static public uint BinToGrayCode(uint dat) { return dat ^ (dat >> 1) ; } //----------------------------------- //グレイコードをバイナリへ変換 // // dat : 元のグレイコード値 // bitCount : 有効ビット数(1~32) // // return : バイナリ値 //----------------------------------- static public uint GrayCodeToBin(uint dat, int bitCount) { uint result = 0; uint mask1; uint mask2; uint tmp1; uint tmp2; if ((bitCount < 1) || (bitCount > 32)) { return 0; } uint mask = MASK_PATTERN << (bitCount - 1); result = dat & mask; for (int i = 1 ; i < bitCount; i++) { mask1 = (mask >> (i -1)); mask2 = (mask >> (i )); tmp1 = result & mask1; tmp2 = dat & mask2; if ((tmp1 != 0) && (tmp2 == 0)) { result |= mask2; } if ((tmp1 == 0) && (tmp2 != 0)) { result |= mask2; } } return result; } } }
コメント
急激に寒くなってキター 晩秋がやってきた!
【#諸塚村】連休初日のBBQの模様なぞをアップしてみる
冷房なしで日中過ごすの,いつ以来よっ!?優しい涼しさが心地よい
【#異星人 発見!】異星人から謎の暗号メールを受け取った!解読不能ヤバス【シレペヒキク】
タッパーウェアが破産申請を計画、事業てこ入れ策つまずく-関係者
電子レンジが不調になったヤバス
【#地震】霧島山で有感地震 生駒高原のあたりか?(24/9/6)
奄美大島のマングース 環境省が根絶宣言