У меня возникли проблемы с пониманием части моего учебника по изучению языка ассемблера. Он начинает вводить все способы представления данных на компьютере, а im в том месте, где он охватывает подписанные и неподписанные числа на компьютере, где подписанные числа являются отрицательными или положительными. Моя книга выполняет операцию дополнения двух в шестнадцатеричном формате, без преобразования в двоичный код здесь, и все, что я вижу в Интернете, делает это только с бинарным. В моей книге говорится, что вы сначала выражаете свой шестнадцатеричный номер как unsigned, а затем вычитаете этот шестнадцатеричный номер на 10000 base 16, чтобы получить представление длины слова (предположительно 100000000 base 16 получит двойное слово) (число, которое вы вычитаете из hex, a 1, за которым следует число 0 в длине представления).Операция с двумя дополнениями с шестнадцатеричным
Прочитав это и пытаясь понять это, он дает мне пример, а примеры требуют дополнения 2 -76. Таким образом, он преобразует его в unsigned, который равен 4C, а затем вычитает 4C от 10000 (длина слова здесь). Итак, мы имеем:
10000
-4C
_____
но моя книга говорит, что вы не можете вычесть C от 0, это верно, потому что С 12, и вы не можете взять 12 от 0. Таким образом, курганы 1 на пути налево, а затем листья FFF. Почему FFF? Я думал, что F было 15, а не 0. Так как же очередь остальных 0 на F?
Теперь мы имеем:
FFF 10
-4 C
______
После всего этого, он говорит, что: 10 база 16 минус C основание 16 = 16 базовая 10 минус 12 основание 10 = 4. Что? 10 base 16 отлично, но как он превращается в 16? Я знаю, что C - 12, и вы не можете сделать 10 минус 12, не получив отрицательного числа, но почему 10 меняются на 16? И, наконец, сказано: F base 16 минус 4 = 15 base 10 - 4 base 10 = 11 base 10 = B base 16 Это имеет смысл, но не 10 превращается в 16. Может кто-то объяснить это с точки зрения гексагона и то, что здесь.
Дан
Это:
________
просто линия
Большое вам спасибо, это действительно очистило все. Еще раз спасибо :) –