Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Представление отрицательных чисел в процессорах Intel x86




Представление данных в памяти ЭВМ

Связь двоичной и шестнадцатеричной системы счисления

Преобразование десятичных чисел в шестнадцатеричные

Преобразование шестнадцатеричных чисел в десятичные

Шестнадцатеричная система счисления

Для записи чисел в шестнадцатеричной системе счисления помимо цифр 1..10 используют также буквы латинского алфавита A..F, которые определяют цифры с значениями 10..15. В программах на языке Assembler шестнадцатеричные константы обозначают литерой h после записи константы, при этом если константа начинается с символа добавляют ведущий ноль. Пример:

1Fh, 0ACh

Шестнадцатеричная система счисления широко используется в языках программирования низкого уровня. Её удобство использования основано на однозначном соответствии двоичной и шестнадцатеричной записи числа, и возможности непосредственного преобразования.

Для преобразования двоичных чисел в десятичные используется прямой способ, основанный на конечной линейной комбинации степеней, то есть

, где k – номер разряда, считая справа.

Пример:

CB16 = 11*1 + 12*16 = 20310

Преобразование осуществляется аналогично преобразованию в двоичную систему — методом циклического деления на 16 и использования остатков от деления в результате.

Пример:

20 3 / 16 = 12 ост 11 (B)

12 / 16 = 0 ост 12 (C)

20310 = CB16

Для перехода от двоичной системы к шестнадцатеричной не требуется выполнять дополнительного преобразования. Двоичное число разбивается на части по 4 разряда, так называемые тетрады, при этом каждая тетрада однозначно соответствует шестнадцатеричной цифре, согласно таблице:

       
       
      A
      B
      C
      D
      E
      F

Подобным образом производится преобразование шестнадцатеричных чисел в двоичные. Пример:

20310 = 1100 10112 = CB16

Минимальное количество информации, которое можно представить в памяти ЭВМ — один двоичный разряд, называемый битом.

8 последовательно расположенных бит образуют байт — минимальное представление, с которым возможны операции в процессорах Intel x86.

Два последовательно расположенных байта (16 бит) называются словом, четыре байта(32 бита) — двойным словом.

Процессоры Intel устроены таким образом, что младший байт всегда занимает младший адрес, то есть данные записаны «задом наперёд». То есть число 12AB3E86h (двойное слово) будет записано в памяти 86 3E AB 12. При пересылке данных процессор сам занимается перестановкой байт в «правильный» порядок, но если требуется обращение к конкретному байту в двойном слове необходимо учитывать расположение данных в памяти.

Отрицательные числа представляются в процессорах семейства Intel x86 в двоичном дополнительном коде. Данное представление возможно только для чисел с заранее определённой разрядностью Такое представление означает, что для того, чтобы зная число A получить число -A требуется выполнить следующие операции:

-A = (NOT (A)) – 1, где операция NOT(A) — это побитовая инверсия.

Пример:

A = 010010112 = 7510

NOT(A) = 101101002

NOT(A) – 1 = 101100112 = -7510

Операции сложения и вычитания для чисел представленных в дополнительном коде в точности соответствуют операциям сложения и вычитания двоичных чисел, и не требуют дополнительных алгоритмических структур. Следует учитывать, что при получении бита выходящего за рамки разрядности он просто отбрасывается. Из определения такого представления следует, что знаковое число, у которого старший разряд в двоичном представлении равен 1 — отрицательное, 0 — положительное.

Пример:

010010112 + 101100112 = 1000000002 = 0 (старшая единица не помещается в 8-ми разрядное представление)




Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 1554; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.