web-dev-qa-db-ja.com

Visual Studioで整数のビットを表示する方法

私が知る限り、Visual Studioで整数のビットを表示することは不可能ですが、デバッガーの[ローカル]ウィンドウと[ウォッチ]ウィンドウで10進数または16進数形式の変数を表示できます。

なぜこの制限があり、整数をビットとして見るためのツール/アドインがあるのですか?

6

私はVisual Studioチームに代わって話すことはできませんが、それは具体的に設定された制限ではなかったと思います。あなたの前提は、これが事実であると想定しています。これはむしろ追加する必要のある機能であり、優先度は低いと判断されました。

回避策を提案するために何を参照しているのか、私にははっきりしません。時計ウィンドウですか?その場合は、ビットの文字列を返す関数を記述して、[ウォッチ]ウィンドウで使用できます。それは少し厄介ですが、これはあなたが望む機能をあなたに与えるでしょう。

編集:ああ。次のような関数を記述できます。

namespace util {
    template<typename TInteger>
    std::string to_binary(TInteger value) {
        std::bitset<sizeof(TInteger) * 8> bs(value);
        return bs.to_string();
    }
}

標準の免責事項:私は現在コンパイラにアクセスできないので、これはコンパイルまたは動作しない可能性がありますが、間違いなく正しい方向に進むことができます。テンプレートと[Watches]ウィンドウがうまく混合しない場合もありますが、各タイプに特定の関数を書くのは簡単です。

翻訳単位に含まれていることを前提とした使用法は、かなり単純です:util :: to_binary(55)または[ウォッチ]ウィンドウでのケースが何であれ。

4
Joel

UIには明確なオプションはありませんが、,bウォッチ変数名の後に、バイナリ表現が表示されます。

18
Twicetimes