関連記事
- 今週もひたすらモノ書き #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; } } }
コメント
【#閃輝暗点】閃輝暗点が始まった!いつもどおり目が見えなくなってるー(汗
【#イプシロン】イプシロンSロケット 燃焼試験中に爆発事故発生
あっちもこっちも風邪が流行ってるの.外に出たら感染する勢い!
【訃報】俳優 火野正平さん死去 75歳
【地震】日向灘でM4.4の地震
【#第三次世界大戦】ウクライナ空軍 “ICBM1発がロシア南部から発射された”
司法省 “グーグルはクローム売却を” 裁判所に要求へ 米報道
最近,仕事がずっと激しい...ドロドロドロ
今日は謎の宴会らしい...スーツが入るのかっ!?(GRB爆
「侍ジャパン」宮崎県入り 「プレミア12」向け きょうから合宿