|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Представление числовых данныхИспользуемые в человеческой практике числа имеют чрезвычайно различные характеристики - разные типы (натуральный, целый, рациональный, комплексный) и точности, что требует различного количества байтов для их отображения в памяти компьютера. Поэтому единой оптимальной для всех чисел формы представления не существует. Исходя из этого, все множество чисел разделяется на типы, каждый из которых имеет свою собственную форму представления. Например, целые числа в определенном диапазоне, действительные с плавающей точкой с заданным количеством значащих цифр, и т.д. Целые положительные числа в диапазоне от 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 байта. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |