10110100この 8 ビット符号付き 2 進数を符号付きマグニチュード、1 の補数、および 2 の補数に変換する必要がある場所で、この問題を抱えています。
符号付きマグニチュードの場合、値は -76 になりました。
1 の補数の場合、すべてのビットを反転する必要があることがわかっているので、 になります01001011が、この 1 の補数の最初のビットが 0 であることは、正の数であることを意味します。誰かがこれを前にゼロを付けずに負の1の補数にする方法を説明できますか?
10110100この 8 ビット符号付き 2 進数を符号付きマグニチュード、1 の補数、および 2 の補数に変換する必要がある場所で、この問題を抱えています。
符号付きマグニチュードの場合、値は -76 になりました。
1 の補数の場合、すべてのビットを反転する必要があることがわかっているので、 になります01001011が、この 1 の補数の最初のビットが 0 であることは、正の数であることを意味します。誰かがこれを前にゼロを付けずに負の1の補数にする方法を説明できますか?
ビットパターンを他のものに変換することは、そもそもそれがどのように解釈されるかを言わなければ意味がありません。パターンをこれらの 3 つとして解釈する必要があることを意味していると思います。
したがって、符号付きマグニチュードの場合、最初のビットを符号として取得し、残りを符号なしの 2 進数として解釈します。結果は -76 ではありません。
1 の補数については、最初のビットが 1 の場合、それが負の数であることがわかります。すべてのビットを反転し、結果を符号なしの数値として解釈し、最後に先頭に - 記号を追加します。(最初のビットが 0 の場合、反転ステップをスキップし、- 記号を追加しません。)
2 の補数の場合、プロセスは同じですが、ビットを反転した後に 1 を追加します。