Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2432.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
219.65 Кб
Скачать
    1. Перевод чисел из одной системы счисления в другую

А. Перевод чисел в десятичную систему счисления осуществляется путем формирования степенного ряда с основанием той системы, из которой переводится число. После считается сумма.

Пример:

101011.101(2)=1*25 + 0*24 + 1*23 + 0*22 + 1*21 + 1*20 + 1*2-1 + 0*2-2 + 1*2-3 = 43,625(10);

604,04(8) = 6*82 + 0*81 + 4*80 + 0*8-1 + 4*8-2 = 388,0625(10);

C2F,6(16) = 12*162 + 2*161 + 15*160 + 6*16-1 = 3119,375(10).

В. Перевод десятичных чисел в двоичную, восьмеричную и шестнадцатеричную системы счисления осуществляется путем деления десятичного числа на основание той системы, в которую переводится, пока не получится частное меньшее этого основания. Число, получившееся в новой системе, записывается из остатков деления, начиная с последнего.

Пример:

292|_8_

288| 36 |_8_

4 32 | 4

4

292(10) = 444(8)

622|_16_

608| 38 |_16_

14 32 | 2

6

622(10)=26E(16).

C. Перевод дробей из десятичной системы счисления в двоичную, восьмеричную и десятичную осуществляется путем умножения этой дроби на основание той системы, в которую она переводится. В другой системе счисления конечной десятичной дроби может соответствовать бесконечная дробь или периодическая, тогда количество знаков берется в зависимости от требуемой точности.

Пример:

0 |_3125*8_ 0,3125(10) = 0,24(8);

2 | 5000*8

4 | 0000

0 |_65*2_ 0,65(10) = 0,10(1001)(2).

1 | 3*2

0 | 6*2

1 | 2*2

0 | 4*2

0 | 8*2

1 | 6*2

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

D. При преобразовании восьмеричного или шестнадцатеричного числа в двоичную систему счисления необходимо и достаточно заменить каждую цифру этого числа соответствующим двоичным числом – триадой или тетрадой (Таблица 1), при этом отбрасывают ненужные нули в старших и младших разрядах. При обратном преобразовании числа из двоичной системы счисления в восьмеричную или шестнадцатеричную необходимо и достаточно заменить каждое двоичное число триаду или тетраду на соответствующую цифру, при этом в случае необходимости дописывают нули в старших и младших разрядах.

Пример:

3 – 011; 306,4(8) = 011 000 110, 100(2) = 11 000 110, 1(2)

0 – 000;

6 – 110;

4 – 100.

0111 1111 1011, 1001 1100(2) = 7FB,9C(16).

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

2 Основные арифметические операции с двоичными числами

Сложение, вычитание и умножение двоичных чисел производится согласно таблице 2.

Таблица 2

Основные арифметические операции

Двоичное сложение

Двоичное вычитание

Двоичное умножение

0 + 0 = 0

0 – 0 = 0

0*0 = 0

0 + 1 = 1

1 – 0 = 1

0*1 = 0

1 + 0 = 1

1 – 1 = 0

1*0 = 0

1 + 1 = 10

10 – 1 = 1

1*1 = 1

Деление двоичных чисел производится по тем же правилам, что и для десятичных, при этом используются правила двоичного умножения и вычитания.

Информация (числа, команды, записи и т. п.) представляется в ЭВМ в виде двоичных кодов фиксированной или переменной длины. 0 или 1 как отдельные элементы двоичного кода называются разрядами или битами, 8-битовый двоичный код называется байтом. Для записи чисел также используют 32-разрядный формат (машинное слово), 16-разрядный формат (полуслово) и 64-разрядный формат (двойное слово).

В целях упрощения выполнения арифметических операций в ЭВМ применяют прямой, обратный и дополнительный коды чисел. Дополнительный и обратный коды применяются для замены операции вычитания операцией сложения, что упрощает устройство арифметического блока ЭВМ, а прямой код используется при делении и умножении и представлении отрицательных чисел в ЭВМ [3, 4].

2.1 Прямой код

Число А в прямом коде представляется в виде:

, при А ≥ 0 (3)

, при А < 0,

где χ – двоичная цифра 0 или 1.

Знаковый разряд для положительных чисел «0», а для отрицательных «1».

Пример:

А = + 10110, тогда Апр=010110, а если А = –11011, тогда Апр = 111011.

2.2 Обратный код

При положительном двоичном числе А > 0, его обратный код совпадает с прямым. Если А < 0, то в обратном коде в знаковом разряде пишут «1», а остальные цыфры в разрядах заменяют на противоположные: 0 на 1, а 1 на 0.

Пример:

А = –101, тогда Аобр = 1010.

2.3 Дополнительный код

Если число А ≥ 0, то дополнительный код Адоп совпадает с самим числом. Если число А < 0, то дополнительный код определяют по правилу: находится обратный код числа и к последнему младшему разряду прибавляется «1».

Пример:

А = –11010, тогда Адоп = 100101 + 00001 = 100110.

Благодаря введению кодов операция чисел заменяется сложением обратных или дополнительных кодов.

2.4 Сложение чисел в обратном и дополнительном коде

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

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

А) Пример:

А1 = 111, А2 = –11, А1 + А2 = 100.

Прямой код: Обратный код: Дополнительный код:

А1=0,0000111 0, 0000111 1,1111011

А2=1,0000011 1,1111100 1,1111010

1 0,0000011 1 1,1110101

∟перенос +1 ∟ отбрасывается

1 + А2)обр = 0,0000100 (А1 + А2)доп = 0,0000100

Так как числа положительные, то дополнительный и обратные коды одинаковы и, следовательно (А1 + А2)обр = (А1 + А2)доп = (А1 + А2)пр.

В) Пример:

А1 = –101, А2 = –11, А1 + А2 = –1011.

Прямой код: Обратный код: Дополнительный код:

А1 = 1,0000101 1, 1111010 1,1111011

А2 = 1,0000110 1,1111001 1,1111010

1 1,1110011 1 1,1110101

∟перенос +1 ∟ отбрасывается

1 + А2)обр = 1,1110100 (А1 + А2)доп = 1,1110101

Результаты необходимо перевести в прямой код, потому, что сумма является кодом отрицательного числа (1):

1 + А2)обр = 1,1110100 = (А1 + А2)пр = 1,0001011;

1 + А2)доп = 1,1110101 = (А1 + А2)пр = 1,0001010 + 0,0000001 = 1,0001011.

Вывод: А1 + А2 = –1011 и полученный результат совпадают.

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