1) 2 進数を 10 進数に変換するとき、左端のビットが 0、1 などを表すことを理解しています。たとえば、0001 を 10 進数に変換するには、0*2^0+0*2^1+0*2^2+1*2^3 なので、10 進数の値は 8 になります。
2) たとえば、バイナリ 1000 0000 に変換される 16 進数 0x80 に署名した場合、このバイナリ表現の 10 進数値を計算するには、署名されているため、7 ビットを反転する必要があるため、1111111 を取得して 1 を加算すると、 -128 である 10000000。
私の質問は、2 番目のケースで符号付きバイトの 10 進数を計算しているときに、右端のビットを 0 として開始しなければならなかったため、....+1*2^8 になった理由です。2 番目のケースの 1) で計算したように、2^0 が一番左のビットではないのはなぜですか?
ありがとう。