В повседневной деятельности мы привыкли к счету с применением цифр 1, 2, 3 и т. д. Вследствие технических особенностей, компьютер применяет другой метод счета, в котором используется всего две цифры 0 и 1. Например, до пяти компьютер считает так: 1, 10, 11, 100, 101. Числа 10, 11, 100 ... являются двоичными, они базируются на системе счисления, состоящей из двух цифр. Десятичная система состоит из десяти цифр 0 ... 9.
Одно и тоже число можно записать в разных системах счисления. Например: двоичное число 10 соответствует десятичному 2.
Компьютер может оперировать только двоичными числами. Но программисту очень неудобно использовать длинные цепочки нулей и единиц, отображающих разные числовые значения. Поэтому, для написания программ был придуман другой, более компактный способ записи чисел – шестнадцатеричная система счисления.
Изучение шестнадцатеричной системы счисления мы начнем в
специальной программе - DEBUG.EXE, которая входит в состав операционной системы
Windows.
Название Debug произошло от слова "Bugs" (насекомые) - так программисты именуют ошибки в программе.
Используя Debug можно проверить работу программы в пошаговом режиме. Это позволяет найти и исправить возможные ошибки. Данный процесс называется отладка "debugging", отсюда и произошло название программы.
Термин "debugging" (обезжучивание) имеет глубокие корни - он появился в тот день, когда перестал работать компьютер Гарвардского университета Марк 1. После долгих поисков техники обнаружили небольшую моль, попавшую между контактами реле. Они удалили моль и внесли запись в сменный журнал о процессе под названием "debugging", произведенном над Марком.
Наиболее удобной средой для изучения Debug является
файл-менеджер FAR. Для запуска Debug необходимо в командной строке FAR-а набрать
команду "debug" и нажать [Enter]:
debug <Enter>
-
Дефис означает, что Debug ждет команды. Чтобы покинуть
программу наберите команду "Q" (Quit - выход) и нажмите ввод:
-q <Enter>
Для сложение и вычитание двух шестнадцатеричных чисел
используем команду "H" (Hex – шестнадцатеричный), например:
-h 3 2 <Enter>
0005 0001
Debug печатает сумму 3 + 2 = 5 и разность 3 - 2 = 1. С числами
от 0 до 9 Debug ведет себя как с десятичными числами. Сходство между
шестнадцатеричной и десятичной системами заканчивается при получении результата
больше девяти, например 9 + 1:
-h 9 1
000A 0008
A - это шестнадцатеричное число, аналог десятичного числа 10. Выполните вычисления: 9 + 2, 9 + 3, 9 + 4, 9 + 5, 9 + 6. В результате получатся остальные числа: B, C, D, E, F. Такой способ записи чисел является очень компактным и удобным с точки зрения представления информации в компьютере.
Debug работает только с шестнадцатеричными числами. Некоторые
операции с такими числами могут давать не совсем обычные результаты. Например,
сложите 8 + 8:
-h 8 8
0010 0000
10 - это шестнадцатеричное число, аналог десятичного числа 16.
Теперь найдите разность между числами 2 и 3:
-h 2 3
0005 FFFF
Разность чисел FFFF - это шестнадцатеричное число, соответствующее единице со знаком минус "-1". Попробуйте получить -2, -3 и другие отрицательные числа.