Урок "Компьютерное представление числовой информации."

 

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

 

        В компьютере различают 2 типа числовых величин:  целые и вещественные числа. Различаются и способы их представления в памяти ПК.

 

 

Представление целых чисел

 

          Любую информацию в памяти ПК можно записать в виде 0 и 1, т.е. бит. 8 бит = 1 байту.

          Часть памяти, хранящую одно число, называют ячейкой. Минимальная ячейка, хранящая ЦЕЛОЕ число, имеет размер - 8 бит, т.е 1 байт.

          

          Целые числа в памяти ПК хранятся в формате с фиксированной запятой. В этом случае каждому разряду ячейки памяти соответствует всегда один и тот же разряд числа, а «запятая» находится справа после младшего разряда, т.е. вне разрядной сетки.

 

Представление целых неотрицательных  чисел

 

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

        

   Самый старший разряд хранит знак числа. Если число положительное,  то в этом разряде 0, а если отрицательное - 1.

   

 

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

  

Минимальное число - 00000000

В десятичной системе оно соответствует 0

Максимальное число  - 01111111

В десятичной системе оно соответствует 127

 

       Таким образом, диапазон целых неотрицательных чисел, помещающихся в 8-разрядную ячейку [0; 127].

 

 

Представление целых отрицательных  чисел

                

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

 

Получить дополнительный код можно по следующему алгоритму:

          1) записать внутреннее представление положительного числа Х;

          2) записать обратный код, т.е. заменить 1 на 0 и 0 на 1.

          3) к полученному числу прибавить 1.

 

 

           Рассмотрим применение данного алгоритма на примере десятичного  числа -25.

                    1) Запишем внутреннее представление числа 25 в 8-разрядной ячейке:    00011001

                    2) Запишем  обратный код: 11100110

                    3) Прибавим к получившемуся числу 1:         11100111 - это и есть -25.

 

            В результате выполнения данного алгоритма 1 в старшем разряде получается автоматически. Она и является признаком отрицательного значения.

            Для проверки Вы можете сложить числа +25 и -25. В результате должен получиться 0.

 

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

  

Минимальное число - 00000000

В десятичной системе оно соответствует 0

Максимальное число  - 10000000

В десятичной системе оно соответствует  -120

  Таким образом, диапазон целых отрицательных чисел, помещающихся в 8-разрядную ячейку [-128; 0].

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

 [-128; 127].

 

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

        Для 16-разрядной ячейки (2 байта)  диапазон значений -  [-32 768; 32 767].

        Для 32-разрядной ячейки (4 байта)  диапазон значений -  [-2 147 483 648; 2 147 483 647].

 

 

 

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

 

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

 

 

 

 

 

Представление вещественных чисел

         Целые и дробные числа  в совокупности называются вещественными числами. Решение большинства математических задач сводится к вычислениям с вещественными числами.

         Любое вещественное число можно записать в формате с плавающей точкой. В этом случае положение «запятой» в записи числа может изменяться.

Формат чисел с плавающей запятой базируется на экспоненциальной форме записи:      А = m * qn

 

где m — мантисса; q - основание системы счисления;  n - порядок.

 

         Например:  123,45 = 0,12345*103        (m = 0,12345;    q = 3;       n = 10)

 

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

 12,345 = 0,0012345 * 104 = 0,12345 * 102 = 1234,5 * 10-2

Как правило, мантисса должна удовлетворять условию: 0,1p < m < 1р

 

Чаще всего для хранения вещественных чисел в памяти ПК используется 32-разрядная (представление числа с обычной точностью) либо 64-разрядная ячейка (представление числа с удвоенной точностью). В ячейке хранятся два числа в двоичной системе счисления - мантисса и порядок:

 

 

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

 

      Недостатками представления чисел в формате с плавающей запятой являются:

       1)  выход из диапазона (переполнение) - аварийная ситуация для процессора, который прерывает свою работу;

     2) результаты машинных вычислений с вещественными числами содержат погрешность. При использовании удвоенной точности эта погрешность уменьшается.

 

 

Практическое задание:

     1) Записать внутреннее представление десятичных чисел, используя 8-разрядную ячейку:

                    а) 29                 б) -29                в) 126              г) -126

      2) Определить, каким десятичным числам соответствуют двоичные коды 8-разрядного представления целых чисел:

                   а) 00010101                                      б) 11111110                      

 

Домашнее задание - подготовка к контрольной работе, решить задачи:

      1) Записать внутреннее представление десятичных чисел, используя 8-разрядную ячейку:

                    а) 32         б) -32        в) 102        г) -102       

      2) Определить, каким десятичным числам соответствуют двоичные коды 8-разрядного представления целых чисел:

                   а) 00111111                       б) 10101010