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

  • При представлении чисел с фиксированной точкой

  • Представление с плавающей точкой любого числа

  • Для перевода числа в прямой код

  • Для перевода отрицательного числа в обратный

  • Для перевода отрицательного числа в дополнительный код

  • Таблица 1 – Примеры представления целых чисел в шестнадцатиразрядных двоичных кодах

  • Число прямой код обратный код дополнительный код

  • Двоичная система счисления

  • Восьмеричная система счисления

  • Шестнадцатеричная система счисления

  • Таблица 2. – Представление чисел в различных системах счисления

  • Перевод чисел в десятичную систему

  • Для перехода от двоичной к восьмеричной (шестнадцатеричной) системе

  • ОСНОВАНИЕ СИСТЕМЫ 10 2

  • Документ Microsoft Word (5). При представлении чисел с фиксированной точкой


    Скачать 117.3 Kb.
    НазваниеПри представлении чисел с фиксированной точкой
    Дата05.11.2021
    Размер117.3 Kb.
    Формат файлаdocx
    Имя файлаДокумент Microsoft Word (5).docx
    ТипДокументы
    #263779
    страница1 из 3
      1   2   3

    Системы счисления и представление информации в ЭВМ

    Представление чисел в ЭВМ

    В цифровых ЭВМ числовая информация представляется в двух формах:

    1. с фиксированной точкой (естественная форма);

    2. с плавающей точкой (экспоненциальная форма).

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

    Представление с плавающей точкой любого числа N в общем виде описывается следующей формулой:

    N = ± M × p±k,                                        (1)

    где ±M – мантисса (дробная часть) числа; p – основание системы счисления; ±k – порядок (целое число), при этом положительный знак мантиссы и порядка может опускаться, а при указании порядка в десятичной системе принято использовать символ Е.

    Например, десятичное число с фиксированной точкой 123,45 может быть представлено в форме с плавающей точкой как 0,12345 × 100, или, как это принято, 1.2345Е+02. Такая форма представления имеет огромный диапазон отображения чисел и является основной в современных ЭВМ.

    Исходные данные в ЭВМ хранятся в виде двоичных чисел, т.е. записываются в виде последовательности нулей и единиц. В памяти ЭВМ одна двоичная цифра записывается в один двоичный разряд, называемый битом. За единицу представления данных в цифровых ЭВМ принят байт – восемь бит, поэтому число разрядов ячеек памяти всегда кратно восьми, а данные имеют байтовую структуру, то есть состоят из определенного числа байтов. Более крупные единицы измерения данных образуются добавлением префиксов кило-, мега-, гига-, тера-.

    Для представления положительных и отрицательных чисел в машинах используются специальные коды: прямой, обратный и дополнительный. Причем два последних позволяют заменить неудобную для ЭВМ операцию вычитания на операцию сложения с отрицательным числом.  Дополнительный код обеспечивает более быстрое выполнение операций при помощи сумматора, поэтому в ЭВМ применяется чаще именно он. Рассмотрим правила кодирования на примере целых чисел.

    Для перевода числа в прямой код знак числа опускается, а в старший (знаковый) разряд ставится 0, если число положительное, и 1 – если число отрицательное. Младшие разряды кода являются двоичным представлением модуля числа. Оставшиеся разряды кода заполняются нулями. Отметим, что перевод положительных чисел в прямой, обратный и дополнительный код не изменяет изображения этих чисел (таблица 1).

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

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

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

    Таблица 1 – Примеры представления целых чисел в шестнадцатиразрядных двоичных кодах

    Число

    прямой код

    обратный код

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

    0

    0000 0000 0000 0000

    0000 0000 0000 0000

    0000 0000 0000 0000

    1

    0000 0000 0000 0001

    0000 0000 0000 0001

    0000 0000 0000 0001

    -1

    1000 0000 0000 0001

    1111 1111 1111 1110

    1111 1111 1111 1111

    20

    0000 0000 0001 0100

    0000 0000 0001 0100

    0000 0000 0001 0100

    -20

    1000 0000 0001 0100

    1111 1111 1110 1011

    1111 1111 1110 1100

     

    Примеры записи чисел в форме с плавающей точкой

    1) Число 2 в нормальной форме записывается следующим образом: 210 = 22×(1/2) = 1010×0.12.

    Соответствующая запись числа 2 в 32-разрядной ячейке памяти машины такова: 01 000 010 100 000 . . . 000.

    2) –310 = –22×(3/4) = –1010×0.112.

    Следовательно, число –3 запишется в 32-разрядной ячейке, как: 11 000 010 110 000 . . . 000.

    3) 3/64 = 2–4×(3/4)=10–100×0.112.

    Запись числа 3/64 в 32-разрядной ячейке памяти ЭВМ: 00 111 100 110 000 . . . 000.

     4) –(13/4096)=–2–8×(13/16)=–10–1000×0.11012.

    Исходя из нормальной формы числа –(13/4096), получим следующую запись числа в 32-разрядной ячейке памяти: 10 111 000 110 100 000 . . . 000.

    Системы счисления и представление информации в ЭВМ

    Понятие об основных системах счисления

    Люди предпочитают десятичную систему, вероятно, потому, что с древних времен считали по пальцам, а пальцев у людей по десять на руках и ногах. Не всегда и не везде люди пользуются десятичной системой счисления. В Китае, например, долгое время пользовались пятеричной системой счисления.

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

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

    • представление информации посредством только двух состояний надежно и помехоустойчиво;

    • возможно применение аппарата булевой алгебры для выполнения логических преобразований информации;

    • двоичная арифметика намного проще десятичной.

    Недостаток двоичной системы - быстрый рост числа разрядов, необходимых для записи чисел.

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

    Непозиционными называются такие системы счисления, в которых каждый символ сохраняет свое значение независимо от места его положения в числе. Примером непозиционной системы счисления является римская система, в которой символам I, V, X, L, С, D, М соответствуют числа 1, 5, 10, 50, 100, 500, 1000. Недостатком этой системы является сложность формальных правил записи чисел и выполнения арифметических действий над ними.

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

    Количество различных цифр, употребляемых в позиционной системе, определяет название системы счисления и называется основанием системы счисления. Так, в десятичной системе используются десять цифр (от 0 до 9), основанием этой системы является число десять.

    В позиционных системах счисления числа записываются в виде последовательности символов:

    N = an an-1 ... a1 a0, a-1 a-2 ... а-m (р)                                                          (2)

    где N – число; ai – цифры (символы) числа; p – основание системы счисления; n, m – порядковый номер разряда для целой (n) и дробной (m) частей числа соответственно.

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

    N = an·pn+an-1·pn-1+ ... +a0·p0+a-1·p-1+a-2·p-2+ ...+а-m·p-m .            (3)

    В десятичной системе счисления мы производим вычисления по формуле (2) практически не задумываясь. Возьмем для примера десятичное число 123,45:

    2  1  0  -1 -2

    1  2  3,  4  5 (10) = 1·102+2·101+3·100+4·10-1+5·10-2 = 100+20+3+0,4+0,05

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

    Помимо десятичной, в ЭВМ применяются и другие позиционные системы счисления: двоичная, восьмеричная, шестнадцатеричная.

    Двоичная система счисления

    Используется две цифры: 0 и 1. Особая значимость двоичной системы счисления в информатике определяется тем, что внутреннее представление любой информации в компьютере является двоичным кодом. Примеры представления чисел в двоичной системе счисления представлены в таблице 2.

    Восьмеричная система счисления

    Используется восемь цифр: 0, 1, 2, 3, 4, 5, 6, 7. Употреблялась в ЭВМ первого и второго поколений как вспомогательная для записи адресов и данных в сокращенном виде. Для представления одной цифры восьмеричной системы используется три двоичных разряда (триада) (Таблица 1). Триада получается путем добавления, при необходимости, незначащих нулей.

    Шестнадцатеричная система счисления

    Для изображения чисел употребляются 16 цифр. Первые десять цифр этой системы обозначаются цифрами от 0 до 9, а старшие шесть цифр - латинскими буквами: 10 - A, 11 - B, 12 - C, 13 - D, 14 - E, 15 - F. Шестнадцатеричная система используется для записи информации в сокращенном виде. Для представления одной цифры шестнадцатеричной системы счисления используется четыре двоичных разряда (тетрада, или полубайт) (Таблица 2).

    Таблица 2. – Представление чисел в различных системах счисления

    Десятичная
    (Основание 10)

    Римская

    Двоичная 
    (основание 2)

    Восьмеричная
    (основание 8)

    Двоичная 
    (триады)

    Шестнадцате­ричная 
    (основание 16)

    Двоичная 
    (тетрады)

    0

     

    0

    0

    000

    0

    0000

    1

    I

    1

    1

    001

    1

    0001

    2

    II

    10

    2

    010

    2

    0010

    3

    III

    11

    3

    011

    3

    0011

    4

    IV

    100

    4

    100

    4

    0100

    5

    V

    101

    5

    101

    5

    0101

    6

    VI

    110

    6

    110

    6

    0110

    7

    VII

    111

    7

    111

    7

    0111

    8

    VIII

    1000

    10

    001 000

    8

    1000

    9

    IX

    1001

    11

    001 001

    9

    1001

    10

    X

    1010

    12

    001 010

    A

    1010

    11

    XI

    1011

    13

    001 011

    B

    1011

    12

    XII

    1100

    14

    001 100

    C

    1100

    13

    XIII

    1101

    15

    001 101

    D

    1101

    14

    XIV

    1110

    16

    001 110

    E

    1110

    15

    XV

    1111

    17

    001 111

    F

    1111

    16

    XVI

    10000

    20

    010 000

    10

    0001 0000

    17

    XVII

    10001

    21

    010 001

    11

    0001 0001

    Начало формы

    Далее

    Конец формы

    ◄ Задачи для самостоятельной работы

    Начало формы



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

    Пример 1. Перевести в десятичную систему счисления:а) 10101101,101(2) ;  б) 703,04(8) ;  в) B2E,4(16) .

    Решение:

    а) 10101101,101(2) = 1·27 + 0·26 + 1·25 + 0·24 + 1·23 + 1·22 + 0·21 + 1·20 + 1·2-1 + + 0·2-2 + 1·2-3  =  173,625(10)

    б) 703,04(8) = 7 · 82 + 0 · 81 + 3 · 80+ 0 · 8-1 + 4 · 8-2 = 451,0625(10)

    в) B2E,4(16) =  11 · 162 + 2 · 161 + 14 · 160 + 4 · 16-1 = 2862,25(10)

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

    Пример 2. а) Перевести 181(10) в восьмеричную систему счисления;
                       б) Перевести 622(10) в шестнадцатеричную систему счисления.

    Решение: 

    а) 

    _181

    8

     

    176

    _22

    8

    5

    16

    2




    6

     

    Результат: 181(10) = 265(8)

    б)

    _622

    16

     

    48

    _38

    16

    _142

    32

    2

    128

    6

     

    14

     

     

    Результат: 622(10) = 26E(16)

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

    Пример 3. Перевести 0,3125(10) в восьмеричную систему счисления.

    Решение: 

    0 , 3125

    ´

    8

    2

    5000

    ´

    8

    4

    0000

     

     

    Результат: 0,3125(10) = 0,24(8)

    Замечание. Конечной десятичной дроби может соответствовать бесконечная (периодическая) дробь в недесятичной системе счисления. В этом случае количество знаков в представлении дроби в новой системе берется в зависимости от требуемой точности.

    Пример 4. Перевести 0,65(10) в двоичную систему счисления с точностью до 6 знаков после запятой. 

    Решение: 

    0, 65

    ´

    2

    1

    3

    ´

    2

    0

    6

    ´

    2

    1

    2

    ´

    2

    0

    4

    ´

    2

    0

    8

    ´

    2

    1

    6

    ´

    2

     

    ...

    Результат: 0,65(10) ≈ 0,101001 (2)

    Для перевода неправильной десятичной дроби в систему счисления с недесятичным основанием необходимо отдельно перевести целую часть и отдельно дробную.

    Пример 5. Перевести 23,125(10) в двоичную систему счисления

    Решение:

    1) Переведем целую часть:

    _

    23

    2

     

     

     

     

    22

    _11

    2

     

     

     

    1

    10

    _5

    2

     

     




    1

    4

    _2

    2

     

     

     

    1

    2

    1

     

     

     

     

    0

     

    2) Переведем дробную часть:

    0, 125

    ´

    2

    0

    25

    ´

    2

    0

    5

    ´

    2

    1

    0

     

     

    Таким образом:  0,125(10) = 0,001(2); 23(10) = 101112.

    Результат: 23,125(10) = 10111,001(2).

    Необходимо отметить, что целые числа остаются целыми, а правильные дроби - дробями в любой системе счисления.

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

    Пример 6. Перевести в двоичную систему счисления: а) 305,4(8); б) 7B2,E(16) .

    Решение:

    а) 

    3

    0

    5

    ,

    4

    (8)

    = 11000101,1(2)

    011

    000

    101

     

    100

     

    б)

    7

    В

    2

    ,

    Е

    (16)

    = 11110110010,111(2)

    0111

    1011

    0010

     

    1110

     

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

    Пример 7. Перевести а) 1101111001,1101(2) в восьмеричную систему счисления;
                                          б) 11111111011,100111(2) в шестнадцатеричную систему счисления.

    Решение:

    а) 

    001

    101

    111

    001

    ,

    110

    100

    = 1571,64(8)

    1

    5

    7

    1

     

    6

    4

     

    б)

    0111

    1111

    1011

    ,

    1001

    1100

    = 7FB,9C(16)

    7

    F

    B

     

    9

    С

     

    Перевод из восьмеричной в шестнадцатеричную систему и обратно удобно осуществлять через двоичную систему с помощью триад и тетрад.

    Пример 8. Перевести 175,24(8) в шестнадцатеричную систему счисления.

    Решение:

    1

    7

    5

    ,

    2

    4

    (8)

    = 1111101,0101(2) = 0111 1101 , 0101 (2) = 7D,5(16)

    001

    111

    101

     

    010

    100

     

                                      7       D         5


    Примеры перевода

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

    Пример 9 Перевести в десятичную систему счисления:  а) 110,0012 ; б) A,B16

    Решение:

    а) 110,0012 = 1 x 22 + 1 x 21 + 0 x 20 + 0 x 2-1 + 0 x 2-2 + 1 x 2-3 = 6,12510 ;

    б) A,B16 = A x 160 + B x 16-1 = 10 x 1 + 11 x 0,0625 = 10,687510 .

    Процедура перевода десятичных чисел в р-ную систему счисления:

    1. перевести отдельно целую часть числа х, для чего последовательно делить сперва целую часть [х]10 , а затем все частные (получаемые при делении) на р до тех пор, пока не получим в очередном частном число меньшее р; изображение [х]p получается последовательным приписыванием к последнему частному остатков от деления – от последнего до первого;

    2. перевести отдельно дробную часть (мантиссу) числа, то есть {x}10 , для чего последовательно умножать сперва исходную мантиссу, а затем мантиссы получаемых чисел на р до тех пор, пока не получим мантиссу, равную нулю, или нужное количество цифр в {х}p ; изображение {х}p получается приписыванием к целой части первого произведения второй такой же цифры и т.д., до последней цифры целой части;

    3. результат будет иметь вид (х)р = [х]p, {х}p .

    Пример 10. Перевести в указанную систему счисления: а) 12,810 = ?2 ; б) 29,2510 = ?8 ; 79,2610 = ?16 .

    Решение:

    а) 1. Переводим целую часть: 1210 =11002;
        2. переводим дробную часть: 0,8 x 2 = 1,6; 0,6 x 2 = 1,2; 0,2 x 2 = 0,4; 0,4 x 2 = 0,8; 0,810 = 0,1100110...2 ;
        3. результат перевода: 12,810 = 1100,1100110011...2 .

    б) 1. Переводим целую часть: 2910 = 358 ;
        2. переводим дробную часть: 0,2510 = 0,28 ;
        3. результат перевода: 29,2510 = 35,28 .

    в) 1. Переводим целую часть: 7910 = 4F16 ;
        2. переводим дробную часть: 0,2610 = 0,4016 ;
        3. результат перевода: 79,2610 = 4F,416 .
    При переводе дробной части мы ограничились нахождением двух значащих цифр после запятой, ибо перевод точно сделать невозможно.

    Для перевода из 2-ной в 8-ную и наоборот, из 2-ной в 16-ную и наоборот, из 8-ной в 16-ную и обратно, используется таблица следующего вида:

    ОСНОВАНИЕ СИСТЕМЫ

    10

    2

    8

    16

    0

    0

    000

    0000

    1

    1

    001

    0001

    2



    010

    0010

    3



    011

    0011

    4



    100

    0100

    5



    101

    0101

    6



    110

    0110

    7



    111

    0111

    8





    1000

    9





    1001

    10





    1010

    11





    1011

    12





    1100

    13





    1101

    14





    1110

    15





    1111

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

    Пример 11. Рассмотрим переводы в смешанных системах:

    1. Из 2-ной системы в 8-ную (двоично-восьмеричное изображение):



    1. из 8-ной системы в 2–ную (восьмерично-двоичное изображение):



    1. из 2-ной системы в 16-ную (двоично-шестнадцатеричное изображение):



    1. из 16-ной системы в 2-ную (шестнадцатерично-двоичное изображение):



    Начало формы

    Далее

    Конец формы

    ◄ Задачи для самостоятельной работы
      1   2   3


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