Система счисления

Автор работы: Пользователь скрыл имя, 15 Февраля 2011 в 21:08, реферат

Описание работы

Счисление, нумерация, - это совокупность приемов представления натуральных чисел. В любой системе счисления некоторые символы ( слова или знаки ) служат для обозначения определенных чисел, называемых узловыми, остальные числа ( алгоритмические ) получаются в результате каких – либо операций из узловых чисел. Системы счисления различаются выбором узловых чисел и способами образования алгоритмических, а с появлением письменных обозначений числовых символов системы счисления стали различаться характером числовых знаков и принципами их записи.

Содержание работы

История развития систем счисления. 2
Двоичные системы счисления 6
Двоичная арифметика 10
Формы представления чисел с фиксированной и плавающей запятой. 13
Сложение чисел с фиксированной запятой. 16
Сложение чисел с плавающей запятой. 16
Умножение чисел с фиксированной запятой. 17
Умножение чисел с плавающей запятой. 18
9. Прямой, обратный и дополнительный коды. Модифицированный код. 20

Файлы: 1 файл

Системы счисления (Руденко).doc

— 488.00 Кб (Скачать файл)

      Примеры сложения чисел с фиксированной  запятой были рассмотрены выше.

Сложение  чисел с плавающей  запятой

 

Если имеются  два числа в нормальной форме: Х1 = m1 10p1 и Х2 = m2 10p2 , то для того чтобы их можно было сложить, нужно предварительно привести их к одному и тому же порядку Робщ, т. е. преобразовать одно из слагаемых, например, первое следующим образом:

      Х1 = m1 10p1  = m1* 10p1 = m1* 10pобщ.

Далее можно  вынести степень основания системы  за скобки и произвести сложение мантисс: Х1 + Х2= m1* 10pобщ. + m2 10pобщ. = (m1* + m2 ) 10pобщ.

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

Машинная операция сложения чисел в нормальной форме  распадается таким образом, на 4 этапа:

    1. Уравниваются порядки слагаемых: меньший порядок увеличивается до большего, мантисса преобразуемого числа сдвигается вправо (число денормализуется) на соответствующее количество разрядов. Практически в машинах производится вычитание порядков операндов. Знак и модуль разности Р1 - Р2 определяют соответственно, какое из слагаемых нужно преобразовывать и на сколько единиц следует сдвигать мантиссу преобразуемого числа.

    2. Производится преобразование мантисс слагаемых в один из модифицированных кодов.

    3. Мантиссы слагаемых суммируются по правилам сложения дробных чисел с фиксированной запятой.

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

    ПРИМЕР. Используя  дополнительный код, сложить два  числа:

     [X1]пр = 0  101;  1,10101     и   [X2]пр = 0  100 ;        1,11001

                                                                 порядок       мантисса

РЕШЕНИЕ:

  1. [X2]пр = 0  101;  1,011001
  2. [m1]мод = 11,01011;              [m1]мод = 11,100111.    

                 доп                                                      доп

  1.    [m1]мод = 11,01011         
  •                              доп

    [m2]мод = 11,01011        

              доп

    [m3]мод = 110, 111101     

             доп

    отбрасывается  запрещенная комбинация

    4. Комбинация знаковых цифр мантиссы показывает, что сумма денормализована влево (всегда только на один разряд)

    Произведем  нормализацию суммы вправо

    [m3]мод = 10, 111101                 1,0111101

                 доп

    Робщ = 0,101 + 0,001 = 0,110

    Далее переводим  сумму в прямой код и производим округление ее мантиссы до пяти разрядов.

     Ответ: [X3]пр = 0  110 ;        1,1000011   ~  0  100;   1, 10001

                                                                        порядок   мантисса

Умножение чисел с фиксированной  запятой

 

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

    1. Определяется знак произведения с помощью сложения знаковых цифр сомножителей по модулю два, где нуль соответствует плюсу, а единица - минусу:

    0 + 0 = 0

    0 + 1 = 1

    1 + 0 = 1

    1 + 1 = 0

      Вручную это эквивалентно:

    (+) (+)  = (+);   (+) (-) = (-);   (-) (+) = (-);    (-) (-) = (+).

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

Умножение производится по обычным правилам арифметики согласно двоичной таблицы умножения. Произведение модулей |Х3| = |Х1| * |Х2| двух (например дробных) чисел, где множитель Х2 = Х21 2-1 + Х22 2-2 +…+ Х2n 2-n,      чаще всего вычисляется как сумма так называемых частичных произведений:

                 n

    3/ = å /Х/ Х2i 2-i

                    i=1

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

      ПРИМЕР. Перемножить числа [X1]пр = 0,1010 и [X2]пр = 1,1101

      Решение.

    1. Определяем знак произведения 0 + 1 = 1.

    2. Перемножим модули операндов, порядок перемножения определяется нумерацией цифр множителя: 

    1-й способ

             0,1010                                                                 0,1010

         х 0,1101                                                             х 0,1101

               4,3,2,1          номера цифр множителя            1,2,3,4

                1010                                                                    1010

              0000                                                                        1010

          +1010                                                                        + 0000

           1010                                                                                1010

    0,10000010                                                                 0,10000010

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

    Ответ: [X3]пр = 1,0000010     ~    1,10000.

    Первый способ часто называют умножением младшими разрядами вперед, а второй - умножением старшими разрядами вперед.

Умножение чисел с плавающей  запятой

 

Если имеем  два сомножителя, заданные в нормальной форме Х1 = m1 10p1 и Х2 = m2 10p2, то их произведение определяется следующим образом:

    Х1 Х= m1  m2  10p1+р2.

    Анализ этого  соотношения показывает, что умножение  чисел в машинах с плавающей запятой производится в четыре этапа:

    1. Определение знака произведения путем сложения по модулю два знаковых цифр мантисс сомножителей.

    2. Перемножение модулей мантисс сомножителей по правилам для дробных чисел с фиксированной запятой.

    3. Определение порядка произведения путем алгебраического сложения порядков сомножителей с использованием либо дополнительного, либо обратного модифицированного кода.

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

    ПРИМЕР. Перемножить  числа с плавающей запятой.

    Множимое [X1]пр = 0  101;  1,10101      

    Множитель [X2]пр = 0  100;  1,11001

    Решение.

    1. Знак произведения 1 + 0 = 1.

    2. Перемножаем модули мантисс:

    1-й  шаг               ,0000  0000      - нулевая  сумма

                               +,0000  1010      - 1-е частичное  произведение

    2-й  шаг              ,0000    1010     - 2-я сумма

                            + ,0000    0000     - 2-е частичное произведение 

    3-й  шаг              ,0000    1010     - 3-я сумма

                            + ,0010    1000     - 3-е частичное  произведение  

    4-й  шаг              ,0011    0010     - 4-я сумма

                            + ,0101    0000     - 4-е частичное произведение

                               , 1000    0010     - модуль  произведения мантисс. 

Находим порядок  произведения:

          [р1]мод = 00,101         

  •                доп

    2]мод = 11,101        

         доп

    3]мод = 100, 010     

             доп

      теряется

Производим округление мантиссы произведения.

     Ответ: [X3]пр  = [Х1 Х2]пр =  0   010 ;      1    100

                                                      порядок      мантисса  

 

Прямой, обратный и дополнительный коды. Модифицированный код. 

       Введем определение прямого, обратного  и дополнительного кодов. Рассмотрим двоичное число  В соответствии с изложенным выше число R кодируется следующим образом:

               0 

      R=    1 

           или, в более общем случае, если ,

               0         

      R=               

      Так как  , эти соотношения можно переписать таким образом:

                         ,            

       =       

      Представление чисел в соответствии с данной формулой называется прямым кодом числа 

       Если  , то формула перепишется в таком виде:

                        ,            

       =       

      Аналогичным образом кодируются и числа, модуль которых не меньше единицы.

      Пример: Записать числа в прямом коде: 

                 

      Из  равенства

      

      следует, что операцию вычитания y из x можно заменить операцией сложения S-y и х с последующим вычитанием из результата величины S.

      Введем  запись

                             R          

       =           S+R      

      Представление чисел в соответствии с  называется дополнительным кодом числа R.

      Операцию  вычитания можно заменить операцией  сложения и на основе соотношения

       .

Информация о работе Система счисления