私はオペレーティングシステムに関する大学のコースをフォローしており、2進数から16進数、10進数から16進数などに変換する方法を学んでいます。今日は、2の補数(〜number)を使用して符号付き/符号なしの数値がメモリに格納される方法を学びました。 + 1)。
紙で行う演習がいくつかあります。先生に作品を提出する前に、答えを確認できるようにしたいと思います。最初のいくつかの演習でC++プログラムを作成しましたが、次の問題で答えを確認する方法がわかりません。
char a, b;
short c;
a = -58;
c = -315;
b = a >> 3;
、、およびのメモリ内のバイナリ表現を表示する必要があります。a
b
c
私はそれを紙で行いました、そしてそれは私に次の結果を与えます(2の補数の後の数の記憶にあるすべての2進表現):
a = 00111010(charなので、1バイト)
b = 00001000(charなので、1バイト)
c = 11111110 11000101(短いので、2バイト)
私の答えを確認する方法はありますか?C ++で数値のメモリにバイナリ表現を表示する標準的な方法はありますか、それとも各ステップを自分でコーディングする必要がありますか(2の補数を計算してからバイナリに変換する)?後者はそれほど長くはかからないだろうと私は知っていますが、そうするための標準的な方法があるかどうかについて興味があります。