Ответы на вопрос:
:разделить число a = 10110102 на число b = 100102 в двоичной системе счисления.решение: 1) впишем делимое a в 8-ми разрядный регистр, начиная с младших разрядов (нумерация разрядов начинается с нуля). в недостающие разряды записываем нули. разр.76543210a: 01011010обратите внимание! так как для выполнения деления требуется производить операцию вычитания, это требует использования знаковой ариaметики. и поэтому в нашем случае 7-й разряд является знаковым (0 - соответствует положительному числу, 1 - отрицательному), а старшим разрядом числа является 6-й разряд. 2) впишем делитель в в 8-ми разрядный регистр, начиная с младших разрядов. в недостающие разряды записываем нули. разр.76543210b: 00010010 здесь также как и с числом a 7-й разряд является знаковым, а старшим разрядом числа является 6-й разряд. эти знаковые разряды будут показывать нам знаки, образующихся в процессе деления, частичных остатков. они не имеет никакого отношения к знакам исходных операндов и знаку результата, а играют чисто технологическую роль. 3) предварительный сдвиг делителя. сдвинем делитель b влево так, чтобы позиция старшей значащей единицы, в нем, совпала с позицией старшей значащей единицы в делимом a. количество необходимых для этого сдвигов запомним в числе k в нашем случае старшая значащая единица в делимом aрасположена в 6-м разряде, a в делителе b - в 4-м разряде. следовательно нам необходимо сдвинуть число b влево на 2 разряда (k = 2).сдвинутый делитель выглядит следующим образом : разр.76543210b: 01001000 4) так как в процессе деления множитель b придется не только прибавлять но и вычитать, то нам необходимо иметь число -b . для этого представим b в дополнительном коде. перевод в дополнительный код осуществим в два этапа: 4.1)вначале получим обратный код. для этого просто проинвертируем каждый разряд регистра (заменим "0" на "1", а "1" на "0"). разр.76543210bобр 10110111 4.2) прибавим к числу в обратном коде единицу и получим дополнительный код. разр.c76543210111bобр10110111+00000001bдоп10111000 таким образом -b = bдоп 5) процесс деления будет следующий: 5.1) вычитаем из делимого а делитель в (т.е. прибавляем -в).5.2) анализируем знак полученного частичного остатка (7-й разряд). в регистр результата записываем "0" если остаток отрицательный и единицу в противном случае. помним, что отрицательному числу соответствует наличие единицы в 7-м разряде и наоборот.5.3) сдвигаем частичный остаток на один разряд влево. при этом крайний правый (младший) разряд заполняется нулем, а знаковый разряд (7-й) в процессе сдвига не участвует.5.4) прибавляем к частичному остатку делитель в если остаток отрицательный либо вычитаем делитель в противном случае.5.5) анализируем знак полученного частичного остатка (7-й разряд). в регистр результата записываем "0" если остаток отрицательный и единицу в противном случае.5.6) действия описанные в пунктах 6.3-6.5 выполняем k раз (если k=0, то ни разу не выполняем). но, если после очередной операции сложения/вычитания частичный остаток, по модулю, будет меньше чем исходный (несдвинутый) делитель, то операция деления прекращается, а частное дополняется нулями так, чтобы число разрядов частного равнялось k+1.в нашем случае процесс деления выглядит следующим образом : разр.c 765432 1011111 частное а 01011010- b 101110001=000100101< --00100100- b101110000=1101110011111< --10111000+ b010010001=00000000 здесь в колонке "частное", сверху вниз, записаны разряды искомого частного, начиная со старших. обратите внимание - значение разряда частного - это просто иверсия 7-го (знакового) разряда частичного остатка.в следующем столбце - символика действий предпринимаемых в зависимости от знака частичного остатка. смысл этих символов следующий: + в - делитель в прибавляется к регистру делимого a; - в - делитель в вычитается из регистра делимого a (технически здесь прибавляется вдоп ); < -- - частичный остаток сдвигается на один разряд влево; " = " - показывается значение частичного остатка полученного после сложения. 6) определяем остаток от деления. для этого анализируем последний частичный остаток. в нашем случае он равен "00000000". то есть деление произвелось нацело без остатка. 7) определяем знак результата. если знаки исходных операндов одинаковы, то результирующее частное положительно и наоборот. в нашем случае знаки , следовательно результирующее частное положительно. ответ: 10110102 : 100102 = 1012.
Смотри, у нас есть 3-х значное число(а), создадим двухзначное (б). для того, чтобы его найти - б = а % 100; теперь надо подставить первую цифру, то есть б *= 100, а / 100, б + а. профит
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Bogdan895009.06.2021 16:53
-
bosiy0130.10.2020 21:44
-
жанат1704.11.2022 15:59
-
senab24.10.2021 05:10
-
0Frozen029.12.2021 18:52
-
ramazancheh2002.02.2020 01:39
-
huhttt05.02.2020 10:53
-
animebit8107.03.2021 15:14
-
Jeka99017.08.2020 23:25
-
SlavaPereli15.03.2023 02:48
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.