Цитата(European @ 25:01:2007, 10:39 )
Получить правила перевода в дополнительный код при помощи HEX редактора - это конечно задача не для слабонервных
Это точно. Облегчу задачу (сугубо для IA-32):
int == Doubleword Signed Integer
Sign
|----|------------------------------|
31-30--------------------------- 0
В памяти хранится начиная с младшего байта (little endian). По смещению 0 хранятся биты 7-0, по смещению 1 биты 15-8 и далее (команды пересылки это учитывают и автоматически размещают быйты в регистрах как надо). Числа хранятся в дополнительном коде (two's complement) - но об этом на википедии хорошо написано, знаковый бит в любом случае очищен, если число положительно, и установлен -- если отрицательно. Добавлю только, что компу все равно, знаковое число или беззнаковое. Это решает программист и использует
соответствующие команды процессора и алгоритмы (ну, или компилятор за него).
Читай:
http://www.intel.com/products/processor/manuals/, там все подробненько написано.