Главная Ассемблер C/C++ FoxPro HTML Сети Железо Download Письмо мне
Поскольку компьютер это обычный набор выключателей, то считать он может
только в двоичной системе исчисления (вкл. или выкл.) т.е. 1 или 0.
Таким образом от 0 до 7 он будет считать так: 0, 1, 10, 11, 100, 101, 110, 111
Разумеется считать нам в такой системе неудобно. Поэтому принята шестнадцатеричная
исчисления. Так сказать удобно и компьютеру и нам.
Рассмотрим это подробноее. Поскольку голую математику читать трудновато с
непривычки, давайте поработаем с компьютером.
Итак, в каталоге WINDOWS\COMMAND\ находим файл debug.exe и запускаем его.
Посольку программа работает в шестнадцатеричной арифметике небольшая справка.
Десятичная 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23.
Шестнадцатеричная 9,A,B,C,D,E,F,10,11,12,13,14,15,16,17,18,19,1A,1B
Другими словами 10Н = 16D, Н- означает что число шестнадцатиричное,D-десятичное.
Теперь с помощью нашей новой программы попробуем посчитать.
Для этого существует команда H (Hexarit-hmetric) Шестнадцатиричная арифметика
Кстати выход из программы - Q.
Печатает программа как сумму, так и разность.
-H54
0009 0001
-H91
000A 0001 - Как вы поняли шестн. А это десят. 10
Отсюда можно посчитать, что макимально возможное количество чисел из двух
шестнадцатиричных цифр это 256. от 0 до 255.
Теперь пора бы научиться переводить вручную из 16-ричных в 10-тичные и
обратно.
Если вы после школы не забыли математику то это достаточно просто.
Десятичное 234 это 2*10^2+3*10^1+4*10^0
Шестнадцатеричное 234 это 2*16^2+3*16^1+4*16^0 = (дальше сами)
Перевод обратно следующий - делим десятичное на 16 и из остатков
формируем шестнадцатеричное в обратном порядке.
Попробуйте поскладывать числа в дебаге, потом проверьте ответ сами.
Не забудьте, что дебаг понимает только шестнадцатеричные числа.
В ассемблер