Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНЫЙ ПРАКТИКУМ 2012.docx
Скачиваний:
24
Добавлен:
16.08.2019
Размер:
1.27 Mб
Скачать

Приложение 2.

2.1.1. Представление чисел и перевод из одного счисления в другое.

Рассмотрим n-разрядный вектор

В = bn-1…b1b0

Здесь bi = 0 или 1 при 0 ≤ n-1. Этот вектор может представлять беззнаковое целочисленное значение V в диапазоне от 0 до 2n-1, где

V(B) = bn-1 х 2n-1 + ...+b1 х 21 + b0 х 20

Совершенно очевидно, что нам необходимо как-то представлять и положительные, и отрицательные числа. Существуют три системы представления чисел со знаком:

значение со знаком;

дополнение до единицы;

дополнение до двух.

Во всех трех системах крайний слева бит, называемый самым старшим разрядом (Most Significant Bit, MSB), равен 0 в случае положительных чисел и 1 — в случае отрицательных. На рис. 2.1 все три представления показаны на примере 4-разрядных (4-битовых) чисел. Положительные значения во всех трех системах представляются одинаково, а отрицательные — по-разному. В системе значения со знаком отрицательные числа отличаются от соответствующих положительных чисел тем, что значение самого старшего бита в векторе В равняется не 0, а 1. Например, число +5 представляется как 0101, а число -5 как 1101. В представлении дополнения до единицы отрицательные значения получают путем дополнения каждого разряда соответствующего положительного значения до единицы. Таким образом, представление числа -3 формируется путем дополнения каждого бита вектора 0011, так что в результате получается 1100. Очевидно, что эту же операцию необходимо выполнить для преобразования отрицательного числа в соответствующее положительное. И в одном и в другом случае преобразование называется дополнением числа до единицы. Операция формирования дополнения заданного числа до единицы эквивалентна вычитанию этого числа из 2n-1, то есть из 1111 в случае 4-разрядных чисел. В системе дополнения до двух операция дополнения производится путем вычитания числа из 2n. То же самое значение можно получить и путем добавления 1 к дополнению этого числа до единицы.

Обратите внимание, что в системах значения со знаком и дополнения до единицы числа +0 и -0 представляются по-разному, а в системе дополнения до двух — одинаково. Имея всего четыре разряда, значение -8 можно представить в системе дополнения до двух, но нельзя представить ни в одной из двух других систем. Для нас наиболее естественной представляется система значения со знаком, поскольку мы привыкли иметь дело с десятичными значениями со знаком. Систему дополнения до единицы относительно легко связать с системой значения со знаком, а вот система дополнения до двух кажется несколько неестественной. Но, именно она оказалась наиболее эффективным способом представления чисел с точки зрения выполнения операций сложения и вычитания. Поэтому она чаще всего используется и в компьютерах.

Двоичное значение

Представление числа в системе

значения со знаком

дополнения до единицы

дополнения до двух

0111

+7

+7

+7

0110

+6

+6

+6

0101

+5

+5

+5

0100

+4

+4

+4

0011

+3

+3

+3

0010

+2

+2

+2

0001

+1

+ 1

+1

0000

+0

+0

+0

1000

-0

-7

-8

1001

-1

-6

-7

1010

-2

-5

-6

1011

-3

-4

-5

1100

-4

-3

-4

1101

-5

-2

-3

1110

-6

-1

-2

1111

-7

-0

-1

Рис. 2.1. Двоичное представление целых чисел со знаком