![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> Программные средства foundation *2.9. Двоичное деление Простейший алгоритм двоичного деления основан на методе деления путем сдвига и вычитания {shift-and-subtract division), которому учат в начальной школе. В табл. 2.8 приведены примеры применения этого метода при делении десятичных и двоичных чисел без знака {unsigned division). В обоих случаях мы мысленно сравниваем приведенное делимое с величинами, кратными делителю, для определения того, какое именно кратное сдвинутого делителя надо вычесть. В случае десятичных чисел мы сначала выбираем значение 11 как наибольшее кратное, меньшее 21, а затем берем 99 как наибольшее кратное, меньшее 107. В двоичном случае выбор несколько проще, поскольку выбирать приходится всего лишь между нулем и самим делителем. Табл. 2.8. Пример деления столбиком 19 10011 частное II )217 1011 )11011001 делимое 11 1011 сдвинутый делитель 107 0101 приведенное делимое 99 0000 сдвинутый делитель 8 1010 приведенное делимое 000 сдвинутый делитель 10100 приведенное делимое 1011 сдвинутый делитель 10011 приведенное делимое 1011 сдвинутый делитель 1000 остаток Методы деления двоичных чисел представляют собой нечто дополнительное по отношению к методам двоичного умножения. Типичный алгоритм деления имеет дело с (и+/я)-разрядным делимым и и-разрядным делителем; результатом его действия становятся т-разрядное частное и и-разрядный остаток. Переполнение при делении {division overflow) наступает, если делитель равен нулю или в том случае, когда для представления частного потребовалось бы больше, чем т битов. У большинства компьютеров в блоках, выполняющих деление, принято п= т. Деление чисел со знаком (signed division) можно выполнить, используя алгоритм деления чисел без знака, по обычным школьным правилам: осуществляем деление величин без знака и полагаем частное положительным, когда операнды имеют одинаковые знаки, и отрицательным, если их знаки различны. Остаток имеет тот же знак, что и делимое. Как и в случае умножения, существуют специальные приемы непосредственного выполнения деления чисел, представленных в дополнительном коде; часто именно такие приемы реализуются в блоках деления в компьютерах (см. Обзор литературы). 2.10. Двоичные коды десятичных чисел Несмотря на то, что двоичные числа являются наиболее подходящими для вычислений в цифровой системе, большинство людей все еще предпочитают иметь дело с десятичными числами. В результате внешние интерфейсы цифровой системы индицируют и позволяют считывать десятичные числа, а некоторые цифровые устройства и в самом деле оперируют с десятичными числами. Необходимость представления человеку десятичных чисел не приводит к изменению основного принципа работы цифровых электронных схем: они обрабатывают все же сигналы, принимающие лишь одно из двух значений, которые мы называем О и 1. Поэтому десятичное число представляется в цифровой системе строкой битов, различные комбинации значений битов в этой строке служат выражением различных десятичных чисел. Если, например, использовать строку из 4 битов для представления десятичного числа, то комбинацию битов 0000 можно поставить в соответствие десятичной цифре О, комбинацию 0001 - цифре 1, комбинацию 0010 - цифре 2 и т. д. Набор строк, состоящих из и битов, в котором различные строки представляют различные числа или другие объекты, называется кодом {code). Отдельная комбинация из п двоичных цифр носит название кодового слова {code word). Как мы увидим на примерах десятичных кодов в этом параграфе, между значениями битов в кодовом слове и тем, выражением чего является это слово, может существовать арифметическое соотношение, но может и не существовать. Кроме того, код с и-битовыми строками не обязательно содержит 2 возможных кодовых слов. Для представления одной десятичной цифры нужно, по меньшей мере, четыре бита. Можно миллиардами различных способов выбрать десять 4-разрядных кодовых слов, но наиболее употребительными являются десятичные коды, перечисленные в табл. 2.9. БИНОМИАЛЬНЫЕ КОЭФФИЦИЕНТЫ Число различных способов выбрать т элементов из и выражается биномиальным коэффициентом равным fjj\ ffiy Существует (j)различных способов выбрать 10 четырехразрядных кодовых слов из 16 и 10! способов установить соответствие между каждым из выбранных наборов и десятью циф- рами. Следовательно, имеется , Ю! или 29 059 430 400 различных 4-раз- 10! 6! рядных десятичных кодов. Возможно, самым естественным десятичным кодом являются двоично-десятичные числа {binary-coded decimal, BCD); в этом коде цифрам от О до 9 соответствуют 4-разрядные двоичные эквиваленты без знака от 0000 до 1001. Кодовые слова от 1010 до 1111 не используются. Преобразование десятичных чисел в двоично-десятичные тривиально и состоит в простой подстановке четырех битов на место каждой десятичной цифры; аналогично выполняется и обратное преобразование В ряде 2.10. Двоичные коды десятичных чисел 75 компьютерных программ один 8-разрядный байт содержит два двоично-десятичных числа; такие двоично-десятичные числа называют упакованными (packed-BCD representation). Таким образом, двоично-десятичное число, представленное одним байтом, может иметь значение от О до 99 в противоположность обычному 8-разрядному двоичному числу без знака из интервала от О до 255. Двоично-десятичные числа с любым количеством цифр можно представить последовательностью байтов из расчета по одному байту на каждые две цифры. Табл. 2.9. Десятичные коды
Как и в случае двоичных чисел, можно многими способами представлять отрицательные двоично-десятичные числа. У двоично-десятичных чисел со знаком должен быть один лишний разряд для знака. Наиболее распространенными являются представления в прямом коде со знаком и в дополнительном десятичном коде. При представлении двоично-десятичных чисел в прямом коде со знаком последовательность битов для знака произвольна; при представлении в дополнительном коде набором битов 0000 указывается знак плюс , а набором 1001 - знак минус . Сложение двоично-десятичных чисел (BCD addition) в одном разряде подобно сложению 4-разрядных двоичных чисел без знака, за исключением необходимости производить коррекцию, когда результат превышает 1001 Коррекция результата осуществляется добавлением 6; приведем примеры. ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |