Знаковый бит является самым значимым битом на любом компьютере с двумя дополнениями (например, x86) и, таким образом, будет в последнем байте в формате с прямым порядком байтов
Просто потому, что я не хотелбыть тем, кто не включает ASCII art ...:)
+---------------------------------------+---------------------------------------+
| first byte | second byte |
+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
^--- lsb msb / sign bit -----^
Биты в основном представлены "задом наперед" от того, как большинство людей о них думают, поэтому старший байт последний.Но это все соответствует;«бит 15» следует после «бита 0» так же, как должны работать адреса, и по-прежнему является самым старшим битом старшего байта слова.Вам не нужно ничего путать, потому что аппаратные средства говорят в байтах вообще, но на самых низких уровнях - поэтому, когда вы читаете байт, он выглядит точно так, как вы ожидаете.Просто посмотрите на самый значимый бит вашего слова (или последний байт, если вы читаете байт за раз), и вот ваш знаковый бит.
Обратите внимание, однако, что дополнение этих двух неточно не обозначать конкретный бит как "знаковый бит".Это просто очень удобный побочный эффект от представления чисел.Для 16-битных чисел -x равно 65536-x, а не 32768 + x (что было бы в случае, если бы старший бит был строго знаком).