Ответы на вопрос:
Сначала числа преобразуются в двоичный код. а=-5(10)=-101(2) в=-8,25(10)=-1000,01(2) числа в формате с фиксированной запятой в памяти хранятся таким образом, что позиция запятой известна и неизменна для всех чисел (отсюда и название с фиксированной точкой) . для этого число а должно быть представлено в виде -101,00(2) пусть для хранения используется 8 разрядов. тогда числа в прямом коде будут представлены в виде а: 1.00101,00 в: 1.01000,01 - здесь отделённый точкой старший разряд знаковый, 1 - означает минус. обратный код получается инверсией всех разрядов, кроме знаковых. а: 1.11010,11 в: 1.10111,10 теперь нужно получить дополнительный код. но перед этим нужно иметь в виду, что ни запятые, ни точки в памяти не хранятся, но всегда известно, где знаковый разряд и сколько разрядов в дробной части. поэтому а: 11101011 + 1 = 11101100 в: 11011110 + 1 = 11011111 это и есть внутреннее представление заданных чисел в дополнительном коде. сложение и вычитание чисел с фиксированной точкой производится так же, как и для целых чисел. 11101100 + 11011111 111001011 - старший разряд (№8) будет выдавлен из разрядной сетки и в данном случае просто отброшен. результат операции сложения 11001011. теперь можно преобразовать получившееся число в привычный десятичный вид и проверить результат. 1.1001011 1.0110100 - обратный код 1.0110100 + 1 = 1.0110101 - прямой код. возвращаем запятую на место 1.01101,01 -> -(8+4+1+1/4) в десятичном виде это число -13,25 сложение было выполнено правильно.
Популярно: Информатика
-
dauletkulova02.04.2020 18:57
-
whuwheuh12310.03.2023 19:24
-
Медуха03.01.2023 11:51
-
mot147506.05.2022 15:33
-
dasha195703.03.2021 12:49
-
tipikina201616.09.2020 15:43
-
vitalikobukhov24.01.2023 21:52
-
КсЮшЕнЬкА110201.04.2022 18:38
-
Anif07.06.2023 12:45
-
ilyapleshakov2928.06.2022 11:13