前提・実現したいこと
ここに質問の内容を詳しく書いてください。
どうして、8ビット環境で、符号付きの場合、0b10000000が-128になるかがわからない。
発生している問題
−127 = 0b10000001 0b100000000(128) - 0b01111111(127) = 0b10000001(-127) -1が 0b100000000(128) - 0b00000001(1) = 0b11111111(-1) であるということはわかります。 つまり、-127〜127を 0b10000001〜0b11111111で表現できます。 しかし、0b10000000が-128である理由がわかりません。 0b100000000(128)- 0b100000000(128)= 0b000000000 (-128??) -128 ≠ 0b10000000ではありません。 このように計算云々で求めるのではなくて、 -128を0b10000000で表せば、ビットを有効活用(一つ表現できる値が増えるから)できるだろうということで、 8ビット環境で、符号付きの場合に、 -128を0b10000000で表そうと「決めた」という認識でよろしいのでしょうか?
補足情報(FW/ツールのバージョンなど)
基本情報技術者試験N進数の問題
回答4件
あなたの回答
tips
プレビュー