C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 112 を表示中)
■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進数にしています。

解決済み
返信 編集キー/


管理者用

- Child Tree -