関連記事
- 【#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; } } }
コメント
【#緊急非常事態】スマホを紛失した!amazonで買ったカナビラがぶっ壊れてスマホが消えた!
「君たちはどう生きるか」「ゴジラ-1.0」アカデミー賞を受賞
昼から雨だそうな.人が洗車すると..ブツブツ
【訃報】TARAKOさん急死 63歳 「ちびまる子ちゃん」を35年
【#訃報】漫画家 鳥山明さん死去 68歳 「DRAGON BALL」などで人気
たぬきケーキの人気再燃 レトロな魅力、再販する店も
【#株価】日経平均株価 終値で初の4万円台 史上最高値を更新(24/3/4)
睡眠「成人は6時間以上」 新ガイドは日本人の眠りを変えられるか
再起動不要でWindows 11をアップデートする機能、2024年後半に導入か
【#確定申告】さて,税務も終わった件