Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tema2.doc
Скачиваний:
12
Добавлен:
16.04.2019
Размер:
261.63 Кб
Скачать

3.3. СМешанные системы счисления

Двоично-десятичная система счисления получила большое распространение в современных ПК ввиду легкости перевода в десятичную систему и обратно. Она используется там, где основное внимание уделяется не простоте технического построения машины, а удобству работы пользователя. В этой системе счисления все десятичные цифры отдельно кодируются четырьмя двоичными цифрами и в таком виде записываются последовательно друг за другом (аналогично переводу из шестнадцатеричной системы в двоичную).

Пример. 970310 = 1001 0111 0000 00112-10.

3.4. Представление целых чисел в эвм

В силу конечности размера памяти ЭВМ возможно представление только некоторого конечного подмножества множества целых чисел. Такое представимое в ЭВМ множество целых чисел определяется как возможностями компьютера, так и техническими стандартами.

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

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

Пример.

Число

Машинный код

0

0000 0000 0000 0000

1

0000 0000 0000 0001

2

0000 0000 0000 0010

Тогда для 16-разрядных целых неотрицательных чисел диапазон представления есть от 0 до 216–1=65535=FFFFh. Такие целые числа называют также беззнаковыми.

Целые отрицательные числа кодируются по правилу дополнительного кода.

Правило двоичного кодирования отрицательных чисел

1. Взять положительную часть числа и получить ее двоичное представление (перевести в двоичную систему счисления). Дописать слева нули до шестнадцати разрядов.

2. В полученном двоичном наборе выполнить операцию инвертирования: нули заменить на единицы, а единицы на нули.

3. К полученному двоичному набору прибавить (по правилам двоичной арифметики) единицу.

Полученный двоичный набор есть машинный код целого отрицательного числа.

Пример. Получим машинный код целого числа –1. Имеем преобразования:

–1 –> 1 –> 0000 0000 0000 0001 –> +1111 1111 1111 1110

1

1111 1111 1111 1111 = FFFFh

Легко заметить, что машинные коды целых чисел 65535 и –1 совпадают. Как же их различают? Различие осуществляется на этапе выполнения некоторой машинной программы. Программе предлагается делать выбор, считать ли такой машинных код целым отрицательным числом, либо беззнаковым числом.

При использовании целых отрицательных чисел множество 16-разрядных целых чисел есть множество целых чисел вида {-32768,...,-1,0,1,...,32767}. То есть для кодирования целых положительных чисел используются 15 значащих разрядов. Шестнадцатый разряд (первый слева) будет нулевым. Для этого множества самое большое целое положительное число 32767 имеет машинный код 0111 1111 1111 1111 = 7FFFh. Тогда первое (в данном множестве) отрицательное число, равное –32768, имеет машинный код, равный 1000 0000 0000 0000 =8000h.

Использование дополнительного кода для представления целых чисел в ЭВМ позволяет заменять операцию вычитания операцией сложения, получая при этом правильный результат в 16 значащих разрядах.

Пример, –1+1=0. В ЭВМ при 16-разрядном представлении будет получено:

1111 1111 1111 1111 + 0000 0000 0000 0001 = 1 0000 0000 0000 0000.

17 разряд

Здесь 17-ый разряд отбрасывается, ответ рассматриваем только в 16-ти разрядах.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]