1) Я понимаю, что при преобразовании двоичного в десятичное число самый левый бит представляет 0, 1 ... и так далее.Так, например, чтобы преобразовать 0001 в десятичную, это 0 * 2 ^ 0 + 0 * 2 ^ 1 + 0 * 2 ^ 2 + 1 * 2 ^ 3, поэтому десятичное значение будет равно 8.
2) Когданапример, вы подписали hex 0x80, который будет преобразован в двоичную 1000 0000, однако, чтобы вычислить десятичное значение для этого двоичного представления, оно подписано, поэтому мы должны инвертировать 7 бит, чтобы мы получили 1111111 и добавили 1, что дает нам 10000000, что-128.
Мой вопрос заключается в том, почему во втором случае, когда мы вычисляем десятичную дробь для подписанного байта, мы должны были начинать с правого большинства битов как 0, поэтому мы имеем ... + 1 * 2 ^8.Почему 2 ^ 0 не самый левый бит, как мы вычислили в 1) для второго случая?
Спасибо.