Используется несколько форматов представления целых и нормализованных чисел, которые отличаются объемом и наличием или отсутствием знакового бита. От этого зависит диапазон чисел, которые могут быть представлены в этом формате. Например, если заранее известно, что какая то целая величина положительна и не может быть больше 255, то для ее хранения достаточно одного байта. Для хранения величин, изменяющихся в диапазоне от -215 = –32768 до 215-1 = 32767, выделяется два байта. Если целое число не вмещается в этот диапазон, то для его хранения выделяется четыре байта (диапазон от –231 до 231-1).
В принципе, подобный подход годится и для дробных чисел. В память компьютера заносятся цифры числа, но при этом считается, что на определенном месте этой записи стоит десятичная запятая. Такая форма записи называется представлением числа с фиксированной запятой. Максимальное число цифр в числе и конкретное положение запятой определяется форматом числа. Предусмотрено несколько вариантов формата представления чисел с фиксированной запятой в памяти компьютера.
Представление нормализованных чисел называется представлением числа с плавающей запятой. Он используется для хранения величин, которые могут принимать любые значения. В памяти компьютера порядок и мантисса хранятся отдельно в форме двоичных целых чисел со знаком. В современных компьютерах используется несколько форматов представления чисел с плавающей запятой, которые отличаются общим объемом представления чисел (6, 8 или 10 байтов), а также размерами памяти, отводимой отдельно для мантиссы и порядка. От этого зависят общий диапазон возможных значений числовой величины в компьютере и минимальная ошибка в вычислениях, проистекающая из-за невозможности запоминать в компьютере большее количество знаков после запятой.
В реальной действительности информация разнородна. Обычно делят данные на числовую информацию, текстовую информацию и логическую информацию. Под текстовой информацией понимается линейная последовательность символов. Для представления символа в памяти компьютера используется следующая схема: фиксируется множество допустимых символов текста (обычно их 28 = 256 символов) и каждому символу присваивается номер (от 0 до 255). После этого последовательность символов заменяется на последовательность номеров, которые в памяти компьютера записываются в виде целых двоичных чисел (без знака). Один номер помещается в одном байте памяти (именно поэтому исторически сложилось разбиение памяти на группы по восемь битов, так как оказалось, что оптимальное количество символов – 28, а не, например, 29).
Множество допустимых символов и их номера составляют таблицу кодирования символов. Естественно, эта таблица не должна зависеть от произвола программиста или производителя компьютеров, поскольку передача инфор¬мации в этом случае будет сильно затруднена. В настоящее время существует стандарт ASCII (American Standard Code for Informational Interchange), содержащий набор и номера 128 основных символов (коды от 0 до 127) и набор и номера 128 расширенных символов (коды от 128 до 255). Поскольку в этот стандарт не входят символы национальных алфавитов (которых значительно больше, чем 128), в каждой стране 128 кодов расширенных символов (от 128 до 255) заменяются символами национального алфавита. Другими словами, каждый язык с алфавитом, отличным от английского алфавита, устанавливает свой стандарт. Осмысленный текст на одном языке будет бессмысленным на другом. Таким образом, для правильной работы с текстом важна не только сама информация, но и ее интерпретация. Программа, которая правильно интерпретирует колы символов в соответствии с таблицей кодирования в определенном алфавите, называется текстовым драйвером.
8th Май 2011
|
Теги:
|