Скачать презентацию Машинные коды чисел В компьютере все арифметические операции Скачать презентацию Машинные коды чисел В компьютере все арифметические операции

Прямой и обратный код.ppt

  • Количество слайдов: 22

Машинные коды чисел В компьютере все арифметические операции над числами сводятся к операциям арифметического Машинные коды чисел В компьютере все арифметические операции над числами сводятся к операциям арифметического сложения и сдвигу кодов.

Прямой машинный код Прямой код целого числа полностью совпадает с записью самого числа в Прямой машинный код Прямой код целого числа полностью совпадает с записью самого числа в разрядной сетке компьютера. Прямой код отрицательного целого числа отличается от прямого кода соответствующего положительного числа содержимым знакового разряда Пример. Прямой код чисел Х=110112 и Y=110112 в восьмиразрядной сетке имеет вид: [Xпк]=00011011 [Yпк]=10011011

Два представления нуля В системе прямых кодов существует два различных представления ноля: 0000 – Два представления нуля В системе прямых кодов существует два различных представления ноля: 0000 – положительный 0; 10000000 – отрицательный 0. Оба представления совершенно равноправны.

Дополнительный и обратный коды Замена операции вычитания (алгебраического сложения) на арифметическое сложение в компьютере Дополнительный и обратный коды Замена операции вычитания (алгебраического сложения) на арифметическое сложение в компьютере осуществляется с помощью обратного и дополнительного кодов. Дополнительный и обратный коды положительного числа совпадают с прямым кодом.

Дополнительный код отрицательного числа Пример. А=9510, В=4310, n=2. Найти С=А-В. [-Bдк]=100 – 43 = Дополнительный код отрицательного числа Пример. А=9510, В=4310, n=2. Найти С=А-В. [-Bдк]=100 – 43 = 57 С = 95 + [-Bдк] – 100 = 95 + 57 – 100 = 152 – 100 = 52 Единицу в старшем разряде суммы можно просто зачеркивать, что равносильно сдвигу кода.

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

Алгоритм получения дополнительного кода отрицательного числа. 1. Модуль числа представить прямым кодом в k Алгоритм получения дополнительного кода отрицательного числа. 1. Модуль числа представить прямым кодом в k двоичных разрядах. 2. Значения всех бит, кроме знакового, инвертировать: все ноли заменить на единицы, а единицы на ноли (таким образом получается k-разрядный обратный код исходного числа); 3. К полученному обратному коду, прибавить единицу к младшему разряду с учетом переносов.

Примеры. 1. Дано отрицательное целое десятичное число M=-20. Представьте число в машинном коде в Примеры. 1. Дано отрицательное целое десятичное число M=-20. Представьте число в машинном коде в 16 разрядной сетке в двоичной и 16 -ричной системах счисления. М=-20=-101002 [Mпк]2=1. 0000 0001 0100 [M ок]2=1. 1111 1110 1011 [M дк]2=1. 1111 1110 1100 [M дк]16=FFEC

2. Дано целое число в виде 16 -ричного двоичного машинного кода. Определите десятичное значение 2. Дано целое число в виде 16 -ричного двоичного машинного кода. Определите десятичное значение данного числа: Ka=FFD 4 Первая цифра F, следовательно, число отрицательное и хранится в компьютере в форме дополнительного машинного кода. FFD 416 = [1. 1111 1101 0100 дк] -0. 0000 0001 [1. 1111 1101 0011 ок] – обратный код числа [Ka]ПК=[1. 0000 0010 1100 пк] – прямой двоичный код числа Тогда десятичное число а = - 101100 = - (32+8+4) = -44 – десятичное число

2 способ: через 16 -ричную систему счисления Ka=FFD 4 < 0, следовательно число а 2 способ: через 16 -ричную систему счисления Ka=FFD 4 < 0, следовательно число а хранится в компьютере в дополнительном коде. Перейдем от дополнительного к прямому машинному коду: Так как дополнительный код для отрицательного числа равен дополнению его величины до числа, возникающего при переполнении разрядной сетки qn, то [Ka]ПК= 1000016 - FFD 416 = 002 С 16 Тогда десятичное число а = - 2 С 16= - (2. 161 + 12. 160) = = - 44

Действия над машинными кодами целых чисел Дано: десятичные числа А= 34 и В = Действия над машинными кодами целых чисел Дано: десятичные числа А= 34 и В = 30 Найти: А+В, А – В, В – А в двоичных машинных кодах в 8 разрядной сетке. [Aпк] = [Аок] = [Адк] = 0. 010 00102 [-Aпк] = 1. 010 0010 [-Bпк] =1. 001 1110 [-Аок] = 1. 101 1101 [-Вок] = 1. 110 0001 [-Адк] =1. 101 1110 [-Вдк] = 1. 110 0010 [Впк] = [Вок] = [Вдк] = 0. 001 11102

Действия над машинными кодами чисел с фиксированной точкой ( в 16 -ричной системе счисления) Действия над машинными кодами чисел с фиксированной точкой ( в 16 -ричной системе счисления) Дано: десятичные числа А= 34 и В = 30 Найти: А+В, А – В, В – А в 16 -ричных машинных кодах в 16 разрядной сетке. 1) А=34=2216 В=30=1 E 16 [KA]пк=002216 [KB]ПК=001 E 16 KA + KB = 0022 + 001 E = 004016 A + B =4. 161 + 0. 160 = 64 2) [K-B]ПК=101 E 16 [K-B]ДК=1000016 - 1 E 16 = FFE 216 KA + KB = 0022 + FFE 2 = 1 0004 А - В = 4. 160 = 4

Представление вещественных чисел в компьютере Любое число в экспоненциальной (нормальной) форме представляется в виде: Представление вещественных чисел в компьютере Любое число в экспоненциальной (нормальной) форме представляется в виде: + + A = - m. A. q - p Нормализованная мантисса: 1 <|m|<1 q 32 -разрядная сетка: 31 30 2928 … Знак порядка Знак мантиссы 23 22 порядок . . . 2 1 0 мантисса

В современных компьютерах машинная форма числа хранит не сам порядок, а его смещенное значение В современных компьютерах машинная форма числа хранит не сам порядок, а его смещенное значение – характеристику числа. Это сделано для того, чтобы не хранить знак порядка и, значит, § облегчить действия над порядками; § увеличить диапазон представляемых чисел. 31 30 2928 … 23 22 . . . 2 1 0 характеристика мантисса Знак мантиссы Мр = р + 64 (10 –ая с/c) Мр = р + 100 0000 (2 –ая с/c) Мр = р + 40 (16 –ая с/c) Мр – машинный порядок р –математический порядок

Нормализованная мантисса числа 25. 32410 0. 25324 *102 Нормализованная мантисса всегда имеет целый разряд Нормализованная мантисса числа 25. 32410 0. 25324 *102 Нормализованная мантисса всегда имеет целый разряд 0 и, следовательно, этот 0 в памяти компьютера не хранится, а только подразумевается. Это полезное техническое решение позволяет увеличить количество цифр и, следовательно, точность вычислений.

Для записи внутреннего представления вещественного числа необходимо: 1) Перевести модуль данного числа в 2 Для записи внутреннего представления вещественного числа необходимо: 1) Перевести модуль данного числа в 2 -ую с. с. ( 16 -ую с. с. ), 2) Нормализовать двоичное число (16 -ричное число), 3) Найти машинный порядок в 2 -ой (16 -ой с. с. ), 4) Учитывая знак числа, выписать его представление в 32 разрядной сетке

Примеры Вещественные числа представить как машинные коды чисел с плавающей точкой в 32 -разрядной Примеры Вещественные числа представить как машинные коды чисел с плавающей точкой в 32 -разрядной сетке в 16 с/с: 9 7 а) А=32008, 5 б) В= - 32008, 5 в) С= 15 г) D= - 16 8 Найдем нормализованные мантиссы и характеристики этих чисел: а) А=32008, 5=7 D 08, 816=0, 7 D 088. 164 m. A=0, 7 D 088 px. A=4+40=4416=10001002 Знак -0 Характеристика - 1000100 Дробная часть - 0111 1101 0000 1000 0000 мантиссы KA= 0. 1000100. 0111 1101 0000 1000 00002 = = 447 D 088016 > 0

б) B= -32008, 5= -7 D 08, 816= - 0, 7 D 088. 164 б) B= -32008, 5= -7 D 08, 816= - 0, 7 D 088. 164 m. B= -0, 7 D 088 px. B=4+40=4416=10001002 Знак -1 Характеристика - 1000100 Дробная часть - 0111 1101 0000 1000 0000 мантиссы KB= 1. 1000100. 0111 1101 0000 1000 00002 = = C 47 D 088016 < 0

в) С= 15 14 =F, E 16 16 mc=0, FE 16 px. A=40+1=4116 Знак в) С= 15 14 =F, E 16 16 mc=0, FE 16 px. A=40+1=4116 Знак -0 Характеристика - 1000001 Дробная часть - 1111 1110 0000 мантиссы KC= 0. 1000001. 1111 1110 00002 = 41 FE 00016 > 0 9 в) D= - 16 = - 0, 916 m. B=0, 9 Знак px. B=40+0=40 -1 Характеристика - 1000000 Дробная часть - 1001 0000 0000 мантиссы KD= 1. 1000000. 1001 0000 00002 = C 090000016 < 0

Действия над числами, представленными в экспоненциальной форме 1. Числа в экспоненциальной форме хранятся в Действия над числами, представленными в экспоненциальной форме 1. Числа в экспоненциальной форме хранятся в памяти в прямом коде с нормализованными мантиссами. 2. Сложение кодов производится путём сложения мантисс только при одинаковых порядках (характеристиках) слагаемых. За общий выбирается наибольший порядок. 3. Алгоритмы операции алгебраического сложения после выравнивания характеристик зависят от знаков слагаемых. 4. Результаты в прямом коде нормализуются.

Примеры Выполнить операцию сложения машинных кодов чисел А и В с плавающей точкой в Примеры Выполнить операцию сложения машинных кодов чисел А и В с плавающей точкой в 32 -хразрядной сетке. В качестве ответа записать код результата (в 2 -ой и 16 -ой с/с) и соответствующее этому коду десятичное число 1) KА =43. F 34000 a) m. A=00. F 34 PAx=43 KВ = C 1. A 13000 m. B=00. A 13 PBx=41 => P =2 => m. B =00. 00 A 13 – ПК _100. 00000 00. 00 A 13 FF. FF 5 ED b) m. A+m. B = 00. F 34 FF. FF 5 ED 100. F 29 ED > 0 => m. A+B = 00. F 29 ED

PA+B = 3 A+B = 0. F 29 ED. 103 = F 29, ED PA+B = 3 A+B = 0. F 29 ED. 103 = F 29, ED 16= 15. 162+ 2. 161+9. 160+14/16+13/256 = 3881 237/256 K A+B =0. 100 0011. 1111 0010 1001 1110 1101 00002= = 43. F 29 ED 0