Главная страница
Навигация по странице:

  • Обратный код

  • Дополнительный код

  • Модифицированные обратный и дополнительный коды

  • 3. СОДЕРЖАНИЕ ОТЧЕТА 1. Цель работы. 2. Задание. 3. Перевод чисел со всеми промежуточными расчетами. 4. Выводы по работе. 4. КОНТРОЛЬНЫЕ ВОПРОСЫ

  • информатика. Игнатьева Елена Александровна, Измайлова Елена Ивановна. Информатика. Электронный ресурс методические указания


    Скачать 4.32 Mb.
    НазваниеИгнатьева Елена Александровна, Измайлова Елена Ивановна. Информатика. Электронный ресурс методические указания
    Дата20.06.2022
    Размер4.32 Mb.
    Формат файлаpdf
    Имя файлаинформатика.pdf
    ТипМетодические указания
    #604814
    страница2 из 15
    1   2   3   4   5   6   7   8   9   ...   15
    Прямой код
    Прямой код – способ представления двоичных чисел с фик- сированной запятой в компьютерной арифметике. Главным обра- зом используется для записи положительных чисел.
    При записи числа в прямом коде старший разряд является знаковым. Если его значение равно 0 – то число положительное, если 1 – то отрицательное. В остальных разрядах, называемых цифровыми разрядами, записывается двоичное представление модуля числа.
    Функция кодирования двоичных чисел (в том числе целых чисел и смешанных дробей) в прямом коде имеет вид:
     







    0
    ,
    2 0
    ,
    A
    A
    A
    A
    A
    n
    ПР
    ,
    (4) где n – номер знакового разряда. В частности, при кодировании правильных двоичных дробей (то есть чисел -1 < A < 1), n = 0 и функция кодирования принимает вид:
     







    0
    ,
    1 0
    ,
    A
    A
    A
    A
    A
    ПР
    (5)

    5
    Величина числа A в прямом коде определяется по следую- щей формуле:





    n
    k
    i
    i
    i
    sign
    p
    a
    a
    A
    )
    2 1
    (
    ,
    (6) где:
    sign
    a
    – значение знакового разряда; число A имеет k разрядов справа от запятой (дробная часть) и n разрядов слева (целая часть), тут учитываются только цифровые разряды.
    Как видно из последней формулы, знаковый разряд в пря- мом коде не имеет разрядного веса. При выполнении арифмети- ческих операций это приводит к необходимости отдельной обра- ботки знакового разряда в прямом коде.
    (n + 1)-разрядный прямой код (n цифровых разрядов и один знаковый) позволяет представлять целые числа в диапазоне


    )
    1 2
    (
    );
    1 2
    (



    n
    n
    и правильные двоичные дроби в диапазоне


    )
    2 1
    (
    );
    2 1
    (
    n
    n



    Примеры представления чисел в прямом коде приведены в табл. 3.
    Таблица 3
    Представление чисел в прямом коде
    Десятичный код
    Двоичный код
    8-разрядный прямой код
    0 0
    4 10
    -5
    -16 9/16
    -9/16 105/128
    -5/128 0
    0 100 1010
    -101
    -10000 0.1001
    -0.1001 0.1101001
    -0.0000101 00000000 – положительный ноль
    10000000 – отрицательный ноль
    00000100 00001010 10000101 10010000 0.1001000 1.1001000 0.1101001 1.0000101
    В информатике прямой код используется главным образом для записи неотрицательных целых чисел. Его легко получить из

    6 представления целого числа в любой другой системе счисления.
    Для этого достаточно перевести число в двоичную систему счис- ления, а затем заполнить нулями свободные слева разряды раз- рядной сетки машины.
    Однако у прямого кода есть два недостатка:
    1. В прямом коде есть два варианта записи числа 0 (напри- мер, 00000000 и 10000000 в восьмиразрядном представлении).
    2. Использование прямого кода для представления отрица- тельных чисел в памяти компьютера предполагает или выполне- ние арифметических операций центральным процессором в пря- мом коде, или перевод чисел в другое представление (например, в дополнительный код) перед выполнением операций и перевод результатов обратно в прямой код.
    Выполнение арифметических операций над числами в пря- мом коде затруднено, т.к. даже для сложения чисел с разными знаками требуется, кроме сумматора, иметь специальный блок-
    «вычитатель». Кроме того, при выполнении арифметических операций требуется особо обрабатывать значащий разряд, так как он не имеет веса. Также необходима обработка «отрицательного нуля». Таким образом, выполнение арифметических операций над числами в прямом коде требует сложной архитектуры цен- трального процессора и является малоэффективным.
    Гораздо более удобным для выполнения арифметических операций является дополнительный код.
    Обратный код
    Обратный код– метод вычислительной математики, позво- ляющий вычесть одно число из другого, используя только опера- цию сложения над натуральными числами. Ранее метод исполь- зовался в механических калькуляторах (арифмометрах). В на- стоящее время используется в основном в современной компью- терной технике.
    Обратный n-разрядный двоичный код положительного це- лого числа состоит из одноразрядного кода знака (двоичной циф- ры 0), за которым следует (n-1)-разрядное двоичное представле- ние модуля числа (обратный код совпадает с прямым кодом).
    Обратный n-разрядный двоичный код отрицательного цело- го числа состоит из одноразрядного кода знака (двоичной циф-

    7 ры 1), за которым следует (n-1)-разрядное двоичное число, пред- ставляющее собой инвертированное (n-1)-разрядное представле- ние модуля числа.
    У числа 0 имеется два обратных кода: «положительный нуль» 00000000 и «отрицательный нуль» 11111111 (приведены
    8-разрядные обратные коды).
    n-разрядный обратный код позволяет представить числа в диапазоне


    )
    1 2
    (
    );
    1 2
    (
    1 1





    n
    n
    Примеры представления чисел в обратном коде представле- ны в табл. 4.
    Таблица 4
    Примеры представления чисел в обратном коде
    Десятичный код Двоичный код
    8-разрядный обратный код
    0
    -0 5
    -5 0
    0 101
    -101 00000000 11111111 00000101 11111010
    Дополнительный код
    Дополнительный код– наиболее распространенный способ представления отрицательных целых чисел в компьютерной арифметике. Он позволяет заменить операцию вычитания на опе- рацию сложения, чем упрощает архитектуру ЭВМ. Дополнитель- ный код отрицательного числа получается инвертированием дво- ичного числа и прибавлением к нему единицы.
    При записи числа в дополнительном коде, старший разряд является знаковым. Если его значение равно 0, то в остальных разрядах записано положительное двоичное число, совпадающее с прямым кодом. Если же знаковый разряд равен 1, то в осталь- ных разрядах записано отрицательное двоичное число, преобра- зованное в дополнительный код. Для получения значения отри- цательного числа все разряды, кроме знакового, инвертируются, а к результату добавляется единица. Обратное преобразование, то есть перевод из дополнительного кода в прямой, осуществляется аналогично.

    8
    Двоичное 8-разрядное число может представлять любое це- лое в диапазоне от -128 до +127. Если старший разряд равен ну- лю, то наибольшее целое число, которое может быть записано в оставшихся 7 разрядах равно
    1 7
    2

    В табл. 5 приведены примеры представления чисел в пря- мом и обратном коде.
    Таблица 5
    Примеры представления чисел в прямом и обратном коде
    8-разрядный двоичный код
    Десятичный код прямой код дополнительный код
    0 1
    -1
    -10 00000000 00000001 10000001 10001010 00000000 00000001 11111111 11110110
    Модифицированные обратный и дополнительный коды
    При переполнении разрядной сетки, происходит перенос единицы в знаковый разряд. В этом случае положительное число, получившееся в результате арифметической операции, может восприниматься как отрицательное, так как в знаковом разряде появляется 1.
    В модифицированном обратном коде под знак числа отво- дится не один, а два разряда. Соответственно знаковые разряды будут 00 – для положительных чисел и 11 – для отрицательных чисел.
    Любая другая комбинация («01» или «10»), получившаяся в знаковых разрядах в ходе арифметических операций служит при- знаком переполнения разрядной сетки. Сложение чисел в моди- фицированном обратном коде ничем не отличается от сложения в обычном обратном коде.
    Модифицированный дополнительный кодтакже рассматри- вает два знаковых разряда, а во всем остальном ничем не отлича- ется от обычного дополнительного кода.

    9
    ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
    1.
    Ознакомиться с основными теоретическими положе- ниями.
    2.
    Получить у преподавателя вариант задания (см. при- ложение).
    3.
    Выбрать наиболее рациональный метод перевода чисел для каждого задания.
    4.
    Перевести числа из одной системы счисления в другую с помощью выбранного метода.
    3. СОДЕРЖАНИЕ ОТЧЕТА
    1.
    Цель работы.
    2.
    Задание.
    3.
    Перевод чисел со всеми промежуточными расчетами.
    4.
    Выводы по работе.
    4.
    КОНТРОЛЬНЫЕ ВОПРОСЫ
    1.
    Чем отличаются позиционные системы счисления от аддитивных? Приведите примеры.
    2.
    Чем характеризуется позиционная система счисления?
    3.
    Какие системы счисления относятся к нетрадицион- ным? Приведите примеры.
    4.
    Каким образом осуществляется перевод по универ- сальному алгоритму?
    5.
    Как можно перевести числа из любой системы счисле- ния в десятичную?
    6.
    Назовите недостатки представления чисел в двойном коде.
    7.
    Каким образом получается дополнительный код дво- ичного числа?
    8.
    Что такое экспоненциальная форма записи числа?
    9.
    Что подразумевается под понятиями: машинное слово, полуслово и двойное слово

    10
    ПРИЛОЖЕНИЕ
    Варианты заданий
    Вариант 1 1. Перевести в 10-ную систему счисления:
    1100001.11 2
    ,
    3402.1 5
    , 346.7 8
    ,
    5212 7
    ,
    184.B
    16 2. Перевести в 2-ную систему счисления:
    627 10
    ,
    20341 8
    , A1DF4 16 3. Перевести в 8-ную систему счисления:
    532 10
    ,
    1010110111 2
    , A4DC8 16 4. Перевести в 16-ную систему счисления:
    430 10
    ,
    362143 8
    , 1000111101010 2
    5. Перевести в 2-ную систему счисления:
    87.85 10
    , 230.3 5
    6. Перевести в 8-ную систему счисления:
    230.3 4
    7. Выполнить следующие действия:
    11010101 2
    + 1110 2
    11011011 2
    – 110101110 2
    Вариант 2 1. Перевести в 10-ную систему счисления:
    1011001.11 2
    , 214.41 5
    , 761.5 8
    ,
    6212 7
    ,
    1AC4.5 16 2. Перевести в 2-ную систему счисления:
    587 10
    ,
    7415 8
    ,
    D8F5A
    16 3. Перевести в 8-ную систему счисления:
    608 10
    ,
    1010111001 2
    , ABCDE
    16 4. Перевести в 16-ную систему счисления:
    346 10
    ,
    360721 8
    , 1011001010101 2
    5. Перевести в 3-ную систему счисления:
    84.55 10
    , 103.2 4
    6. Перевести в 7-ную систему счисления:
    240.1 5
    7. Выполнить следующие действия:
    111011101 2
    + 101110 2
    110011011 2
    – 1100001110 2

    11
    Продолжение прил.
    Вариант 3 1. Перевести в 10-ную систему счисления:
    10000101.01 2
    , 3131.2 5
    , 274.2 8
    ,
    5624 7
    ,
    13B.A
    16 2. Перевести в 2-ную систему счисления:
    593 10
    ,
    65470 8
    , A3F26 16 3. Перевести в 8-ную систему счисления:
    833 10
    ,
    1010011001 2
    , E8A42 16 4. Перевести в 16-ную систему счисления:
    820 10
    ,
    521647 8
    , 1001100100100 2
    5. Перевести в 2-ную систему счисления:
    39.55 10
    , 160.4 7
    6. Перевести в 8-ную систему счисления:
    121.1 3
    7. Выполнить следующие действия:
    1011101 2
    + 11101101 2
    11010101 2
    – 1110 2
    Вариант 4 1. Перевести в 10-ную систему счисления:
    1000110.01 2
    , 3442.1 5
    , 705.5 8
    ,
    3540 7
    ,
    14A.F
    16 2. Перевести в 2-ную систему счисления:
    327 10
    ,
    67424 8
    , CAF90 16 3. Перевести в 8-ную систему счисления:
    642 10
    ,
    10111111101 2
    , FA479 16 4. Перевести в 16-ную систему счисления:
    716 10
    ,
    565137 8
    , 1000101111110 2
    5. Перевести в 2-ную систему счисления:
    81.35 10
    , 203.2 4
    6. Перевести в 5-ную систему счисления:
    220.1 3
    7. Выполнить следующие действия:
    11011101 2
    + 1010110 2
    110011 2
    – 1001110 2

    12
    Продолжение прил.
    Вариант 5 1. Перевести в 10-ную систему счисления:
    1010100.11 2
    , 3400.3 5
    , 360.4 8
    ,
    3701 7
    ,
    14B.F
    16 2. Перевести в 2-ную систему счисления:
    347 10
    ,
    65403 8
    , A1F94 16 3. Перевести в 8-ную систему счисления:
    820 10
    ,
    111111101101 2
    ,
    61370 16 4. Перевести в 16-ную систему счисления:
    628 10
    ,
    521347 8
    , 10110000000011 2
    5. Перевести в 3-ную систему счисления:
    62.75 10
    , 130.4 5
    6. Перевести в 8-ную систему счисления:
    323.2 4
    7. Выполнить следующие действия:
    1110111 2
    + 1110 2
    1100110011 2
    – 11001110 2
    Вариант 6 1. Перевести в 10-ную систему счисления:
    1000001.101 2
    , 2402.3 5
    , 127.6 8
    ,
    6541 7
    ,
    AC5.F
    16 2. Перевести в 2-ную систему счисления:
    757 10
    ,
    47032 8
    , BCD41 16 3. Перевести в 8-ную систему счисления:
    289 10
    ,
    1111100000111 2
    ,
    A4B8C41 16 4. Перевести в 16-ную систему счисления:
    806 10
    ,
    457561 8
    , 11110000001000 2
    5. Перевести в 6-ную систему счисления:
    159.48 10
    , 452.3 8
    6. Перевести в 3-ную систему счисления:
    10101011.1 2
    7. Выполнить следующие действия:
    11101101101 2
    + 101001110 2
    1100011 2
    – 110000110 2

    13
    Продолжение прил.
    Вариант 7 1. Перевести в 10-ную систему счисления:
    10001101.01 2
    , 3222.2 5
    , 752.4 8
    ,
    6115 7
    ,
    84AC.E
    16 2. Перевести в 2-ную систему счисления:
    967 10
    ,
    345011 8
    , CD8F4 16 3. Перевести в 8-ную систему счисления:
    286 10
    ,
    10010101001 2
    , 4DEC8 16 4. Перевести в 16-ную систему счисления:
    875 10
    ,
    572163 8
    , 1101010101010 2
    5. Перевести в 2-ную систему счисления:
    104.25 10
    , 411.4 6
    6. Перевести в 7-ную систему счисления:
    121.2 3
    7. Выполнить следующие действия:
    11101 2
    + 10110 2
    11001011 2
    – 1001110 2
    Вариант 8 1. Перевести в 10-ную систему счисления:
    10011111.01 2
    , 2302.2 5
    , 701.5 8
    ,
    5622 7
    ,
    2AD.B
    16 2. Перевести в 2-ную систему счисления:
    197 10
    ,
    60321 8
    , ADF48 16 3. Перевести в 8-ную систему счисления:
    402 10
    ,
    100011011 2
    ,
    4DB87 16 4. Перевести в 16-ную систему счисления:
    1050 10
    ,
    321643 8
    , 10101101011110 2
    5. Перевести в 3-ную систему счисления:
    800.2 10
    , 543.2 7
    6. Перевести в 9-ную систему счисления:
    424.5 6
    7. Выполнить следующие действия:
    111011100101 2
    + 1011110 2
    1100110110 2
    – 110000111001 2

    14
    Продолжение прил.
    Вариант 9 1. Перевести в 10-ную систему счисления:
    11011001.101 2
    , 1111.1 5
    , 3572.2 8
    , 61112 7
    , 20C.A1 16 2. Перевести в 2-ную систему счисления:
    275 10
    ,
    72143 8
    , A51D4E
    16 3. Перевести в 8-ную систему счисления:
    824 10
    ,
    1111000001011 2
    ,
    C8F13 16 4. Перевести в 16-ную систему счисления:
    432 10
    ,
    621443 8
    , 1000100000010 2
    5. Перевести в 2-ную систему счисления:
    721.54 10
    , 4443.1 5
    6. Перевести в 7-ную систему счисления:
    1020.1 3
    7. Выполнить следующие действия:
    11010110101 2
    + 101110 2
    110011011 2
    – 1111011 2
    Вариант 10 1. Перевести в 10-ную систему счисления:
    1000001.1101 2
    , 2442.3 5
    , 276.5 8
    ,
    1612 7
    ,
    4CD.5 16 2. Перевести в 2-ную систему счисления:
    147 10
    ,
    20571 8
    , A18BF8 16 3. Перевести в 8-ную систему счисления:
    842 10
    ,
    111111000111 2
    ,
    DE52C
    16 4. Перевести в 16-ную систему счисления:
    2081 10
    ,
    621142 8
    , 1011101111010 2
    5. Перевести в 4-ную систему счисления:
    104.25 10
    , 240.4 5
    6. Перевести в 8-ную систему счисления:
    432.4 5
    7. Выполнить следующие действия:
    11111101 2
    + 10001110 2
    11001100011 2
    – 101110 2

    15
    Продолжение прил.
    Вариант 11 1. Перевести в 10-ную систему счисления:
    101111101.01 2
    , 3402.24 5
    , 3211.2 8
    , 5641 7
    ,
    1AD4.8 16 2. Перевести в 2-ную систему счисления:
    407 10
    ,
    34100 8
    , E00DF
    16 3. Перевести в 8-ную систему счисления:
    602 10
    ,
    1011010110001 2
    ,
    40D2C
    16 4. Перевести в 16-ную систему счисления:
    654 10
    ,
    620103 8
    , 1010110101010 2
    5. Перевести в 2-ную систему счисления:
    79.24 10
    , 431.3 5
    6. Перевести в 16-ную систему счисления:
    214.1 5
    7. Выполнить следующие действия:
    1101 2
    + 1011010 2
    11001111 2
    – 1101110 2
    Вариант 12 1. Перевести в 10-ную систему счисления:
    11001.101 2
    ,
    3342.2 5
    , 372.7 8
    ,
    45621 7
    , A018.04 16 2. Перевести в 2-ную систему счисления:
    806 10
    ,
    10741 8
    , 1A0F4 16 3. Перевести в 8-ную систему счисления:
    627 10
    ,
    1010000111 2
    , 4FD08 16 4. Перевести в 16-ную систему счисления:
    860 10
    ,
    621743 8
    , 1010110101010 2
    5. Перевести в 3-ную систему счисления:
    72.55 10
    , 241.62 7
    6. Перевести в 6-ную систему счисления:
    202.12 3
    7. Выполнить следующие действия:
    1011101101 2
    + 10110010 2
    1010011011 2
    – 110000 2

    16
    Продолжение прил.
    Вариант 13 1. Перевести в 10-ную систему счисления:
    1010001.01 2
    , 2024.2 5
    , 366.1 8
    ,
    2562 7
    ,
    1C4.E
    16 2. Перевести в 2-ную систему счисления:
    278 10
    ,
    27301 8
    , 1DAF4 16 3. Перевести в 8-ную систему счисления:
    822 10
    ,
    10111100111 2
    , AF0C2 16 4. Перевести в 16-ную систему счисления:
    387 10
    ,
    621543 8
    , 1010110101010 2
    5. Перевести в 2-ную систему счисления:
    70.255 10
    , 240.32 5
    6. Перевести в 16-ную систему счисления:
    401.2 5
    7. Выполнить следующие действия:
    1000001 2
    + 101111 2
    1001001 2
    – 1001110 2
    Вариант 14 1. Перевести в 10-ную систему счисления:
    1000100.11 2
    , 3102.3 5
    , 372.5 8
    ,
    5602 7
    ,
    10C4.2 16 2. Перевести в 2-ную систему счисления:
    524 10
    ,
    20061 8
    , A17F01 16 3. Перевести в 8-ную систему счисления:
    1052 10
    ,
    10111010111 2
    , A400C8 16 4. Перевести в 16-ную систему счисления:
    651 10
    ,
    621043 8
    , 10001010101010 2
    5. Перевести в 2-ную систему счисления:
    97.95 10
    , 224.4 5
    6. Перевести в 9-ную систему счисления:
    323.4 5
    7. Выполнить следующие действия:
    1010111011101 2
    + 1011101 2
    100111000 2
    – 11000110 2

    17
    Лабораторная работа № 2
    Работа с файлами и директориями в операционной системе MS
    DOS
    1   2   3   4   5   6   7   8   9   ...   15


    написать администратору сайта