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

  • docx
  • 16.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л2-001440.docx

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

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

Целые положительные числа в диапазоне от 0 до 255 могут быть представлены в двоичном коде с помощью перевода в двоичную систему счисления. В памяти компью­тера для такого представления потребуется один байт.

При представлении целых положительных и отрицательных чисел для кодирования знака используется отдельный, обычно старший, бит. С помощью нуля отображается знак плюс, а единицы - минус. Оставшиеся семь бит используются для представления цифр, что позволяет закодировать с помощью одного байта целые числа в интервале от -127 до +127.  Описанный способ представления получил название прямого кода. Его недостатком является неоднозначность представления числа ноль (числу ноль соответствуют два кода 0000 0000 и 1000 0000), приводящая к усложнению арифметики и требующая соответствующего решения на  аппаратном уровне. Указанный недостаток можно устранить с помощью использования так называемого дополнительного кода. В соответствии с ним положительные числа отображаются так же, как и в прямом коде, а отрицательные – с помощью числа, получающегося в результате вычитания из 1 0000 0000 их модуля. Например, чис­лу - 3 соответствует код 1111 1101= 1 0000 0000 - 0000 0011. Достоинством  дополнительного кода является простота реализации арифметических действий, поскольку  каждый последующий код получается из предыдущего прибавлением единицы.

В целях оптимизации использования ресурсов компьютера во всех системах программирования используется несколько типов данных для работы с целыми числами. Например, в системе программирования Delphi5, основанной на языке Паскаль, их девять. Рассмотренные выше представления называются Byte и ShotInt. Совершенно аналогично целые числа от 0 до 65535 (Word) и целые числа от - 32768 до 32767 (SmallInt) пред­ставляются с помощью двух байт  в двоичной системе счисления.

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

Существуют две формы записи действительных чисел:

·       естественная форма или форма с фиксированной запятой (точкой), в которой целая часть числа отделяется от дробной запятой и положение запятой фиксировано;

·       нормальная форма, или форма с плавающей запятой (точкой), в которой число изображается в виде мантиссы и порядка, являющегося целым числом: X=±MP±r, где М – мантисса числа, r – порядок числа, Р – основание  системы счисления. В случае, когда мантисса 1/P ≤ M < P (0,1 ≤ M < 1 для десятичной системы счисления), такая форма представления называется нормализованной.

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

Для отображения порядка числа используется представление с избытком, при котором вместо истинного значения порядка хранится число, называемое характеристикой и получаемое путем прибавления к порядку необходимого смещения. Так, например, если для отображения порядка используется восемь бит и, следовательно, его значения лежат в диапазоне - 128 до + 127, то смещение равно 128. Отображение порядка в этом случае осуществляется  с помощью неотрицательных чисел, лежащих в диапазоне от 0 до 255. Причинами использования смещенной формы представления порядка является упрощение выполнения операций как над порядками, так и над самими числами, поскольку в этом случае возможно выполнение действия с порядками, как с положительными числами.

Аналогично целым числам при практической реализации в системах программирования применяется несколько типов данных, основанных на модели чисел с плавающей точкой. Например, в языке Паскаль системы программирования Delphi 5 используется 7 типов данных разной «длины».  Так, тип Real позволяет оперировать с числами из диапазона ±5.0×10-324 ¸ ±1.7×10308, имеющими 15 значащих разрядов и требующих для своего хранения 8 байт памяти, а тип Single предназначен для работы с числами из диапазона ±1.5×10-45 ¸ ±3.4×1038, имеющими 7 значащих разрядов и занимающих 4 байта.


 

Посмотрите также