■66179 / ) |
Re[4]: C# でビット反転の方法を教えて下さい |
□投稿者/ ビビット (4回)-(2013/04/06(Sat) 22:09:59)
|
■No66160 (shu さん) に返信 > ■No66158 (ビビット さん) に返信 > > No66151の > >>string s = "1001000101100"; >>とあるとき、下位1バイトを反転して1を加え、 >>結果的に16進数D4を得たいのですが、 > を見ると私の提示した処理だとD4にはならずかと言って結果以外の > 過程には合っているような気がします。 > D4を求めるには > 下位1バイトを取り出して反転し1を加えるか > 反転して1を加えてから下位1バイトを取り出す > 必要があるかと思います。 > > 実際にやりたいことに合わせ変更を加える必要がありそうです。
ご返信ありがとうございます。 ちゃんとご教授頂いた方法でd4を得ることができていますよ。
>>string s = "1001000101100"; の下位1バイト string s2 = "00101100";
ここで、教えていただいた
UInt32 a = Convert.ToUInt32(s2, 2); UInt32 b = ((a & 0xFFFFFF00) | (~(a & 0xFF) & 0xFF)) + 1; String result = Convert.ToString(b, 16);
最後だけ16進数にしています。
|
解決済み
|