関連記事
- 今週もひたすらモノ書き #JAVA 祭りがまだまだ続く そろそろC#を書かせろー 【2024年12月04日(水)】
- 【#CSHARP】ソリューション内でサービス,Winformアプリを混在で作成させ,バイナリ出力先を同じにするとサービスが起動しない 【2024年02月08日(木)】
- 【#PHP】謎な #Laravel 案件 引き渡したじ 【2024年01月11日(木)】
- 【C#】謎な改造アプリ,SIMD命令を導入して高速化しようか,思案中 【2023年11月14日(火)】
- Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング 【2023年10月18日(水)】
仕事で必要になったんで、ちょろっと、グレイコード変換クラス、書き起こしてみましたわん!
バグってたら、すまそ(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; } } }
コメント
【#大相撲】 横綱 照ノ富士 引退の意向を固める
【#日向灘地震】割れ残り部が依然健在じゃし.怖いわなぁ
【#大地震】宮崎に大地震キタ━(゚∀゚)━!!(25/1/13)
【#大雪】宮崎市に降雪予報キター(25/1/11)
【#2025】あけおめ~ 2025年が始まったらしい...ドロドロドロ
2024年が終わりますなぁ 1年ありがとうございました
ついに宮崎市も氷点下気温キター(24/12/23)