Типы данных и их представление — КиберПедия 

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Типы данных и их представление

2023-02-03 18
Типы данных и их представление 0.00 из 5.00 0 оценок
Заказать работу

Любая информация представляется в компьютере в виде последовательности байтов, то есть целых положительных чисел. Базовыми типами данных, с помощью которых производится такое представление, являются целые без знака (однобайтовый, двухбайтовый и четырехбайтовый). Термин «без знака» означает, что данные могут быть только положительными.

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

– целые (короткий, обычный и длинный),

– вещественные (с одинарной и двойной точностью),

– текстовый,

– логический,

– графические (растровый, векторный и фрактальный),

– звуковой.

Базовые типы данных

Представление данных разных типов в компьютере производится с помощью целых положительных чисел. Основной единицей измерения объема информации является байт. Поскольку в байте 8 битов, то наибольшее число, которое можно представить одним байтом, равно 255. Следовательно, одним байтом (8 битами) можно представить 256 положительных чисел от 00000000 до 11111111 (соответствует десятичному числу 255). Такой тип данных называется однобайтовым целым без знака. Он позволяет работать с целыми положительными числами от 0 до 255.

Числа, превышающие 255, требуют более одного байта для своего представления. Для работы с ними используют типы двухбайтовый целый без знака, который обеспечивает представление 65536 целых положительных десятичных чисел (от 0 до 65535) и четырехбайтовый целый без знака, который позволяет представить более 4,2 млрд. целых положительных чисел (от 0 до 4 294 967 295).

 

 

Целые типы данных

Для работы с целыми числами, которые могут быть не только положительными, но и отрицательными, используются типы:

однобайтовыйцелый со знаком (целый короткий);

двухбайтовыйцелый со знаком (целый обычный);

четырехбайтовыйцелый со знаком (целый длинный).

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

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

– смещение.

Для однобайтового представления общее количество таких кодов 256 (от 0 до 255), для двухбайтового – 65536 (от 0 до 65535), для четырехбайтового – более 4,2 млрд.

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

Например, если для представления числа используется один байт, то число –1 представляется числом 255 (256–1=255), –2 – числом 254 (256–2=254) и т.д. до 128, которое означает число –128.

Смещение. К числу перед записью его в память прибавляется положительное число, которое называется смещением. Смещение выбирается таким образом, чтобы минимальному числу соответствовал нуль. Метод смещения упрощает вычисления и сравнение чисел.

Например, для однобайтового представления смещение равно 128. Тогда минимальное число –128 представляется в памяти компьютера нулем (–128 + 128 = 0), –127 представляется числом 1 (–127 + 128 = 1) и т.д. до 127, которое представляется числом 255 (127 + 128 = 255).

Таким образом, однобайтовое целое со знаком позволяет работать с целыми числами от –128 до +127, двухбайтовое целое со знаком – от –32768 до +32767 и четырехбайтовое целое со знаком – примерно от –2,1 млрд. до +2,1 млрд. (точнее, от –2 147 483 648 до 2 147 483 647).

Вещественные типы данных

Работая с вещественными числами, следует иметь в виду два аспекта:

– способы визуализации чисел (запись вещественных чисел на бумаге, их представление при вводе с клавиатуры, выводе на экран или принтер и т.п.);

– способы представления чисел в памяти ЭВМ.

Мы привыкли записывать их в виде десятичных дробных чисел, в которых знак запятой разделяет целую и дробную часть (например, 5,8; 138,654). В информационных технологиях при записи вещественных чисел в качестве разделителя целой и дробной части принято, как правило, вместо запятой писать точку (то есть 5.8; 138.654).

При вводе или выводе вещественных чисел используют два способа (формата) записи:

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

– формат с плавающей точкой.

При таком виде записи точка не фиксирована, ее положение определяется величиной порядка. Точка как бы плавает в зависимости от величины порядка.

Например, число 3.186 можно записать как

31.86E-1 = 3.186E0 = 0.3186E+1,

что означает

31.86×10-1 = 3.186×100 = 0.3186×101.

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

в 10-чной системе 3.1415926 = 0.31415926E+1,

в 2-чной системе 1000.00012 = 0.100000012E+100 (здесь 100 – двоичная форма десятичного числа 4).

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

в 10-чной системе 0.00234 = 2.34E–3,

в 2-чной системе 101.11 = 1.0111E+10; 0.0011 = 1.1E–11 (здесь степени 10 и 11 – это двоичная форма десятичных чисел 2 и 3).

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

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

В этом случае при записи числа в качестве разделителя мантиссы и порядка используется латинская буква E. В памяти ЭВМ такое число занимает обычно 4 байта.

В компьютере вещественное число с плавающей точкой представляется таким образом, что мантисса и порядок располагаются в соседних байтах, знак E (или D) отсутствует. Различают вещественные числа с одинарной точностью (4-байтовое) (в этом случае при записи числа в качестве разделителя мантиссы и порядка используется латинская буква E. В памяти ЭВМ такое число занимает обычно 4 байта) и вещественные числа с двойной точностью (8-байтовое) (в этом случае разделителем мантиссы и порядка является буква D (например, 3.4D–3). В памяти ЭВМ число с двойной точностью занимает обычно 8 байтов. Такое представление обеспечивает бóльшую точность в вычислениях, чем одинарная точность.)

 

Получить вещ.число: При таком виде записи точка не фиксирована, ее положение определяется величиной порядка. Точка как бы плавает в зависимости от величины порядка.

Например, число 3.186 можно записать как

31.86E-1 = 3.186E0 = 0.3186E+1,

что означает

31.86×10-1 = 3.186×100 = 0.3186×101.

Нормализованная: Если мантисса по модулю меньше 1, причем первая цифра после точки не равна нулю, то такой вид записи вещественного числа с плавающей точкой называют нормализованным. Например,

в 10-чной системе 3.1415926 = 0.31415926E+1,

в 2-чной системе 1000.00012 = 0.100000012E+100 (здесь 100 – двоичная форма десятичного числа 4).

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

в 10-чной системе 0.00234 = 2.34E–3,

в 2-чной системе 101.11 = 1.0111E+10; 0.0011 = 1.1E–11 (здесь степени 10 и 11 – это двоичная форма десятичных чисел 2 и 3).

В этом случае разделителем мантиссы и порядка является буква D (например, 3.4D–3). В памяти ЭВМ число с двойной точностью занимает обычно 8 байтов. Такое представление обеспечивает бóльшую точность в вычислениях, чем одинарная точность.

 

Текстовый тип данных

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

Например, ASCII (AmericanStandardCodeforInformationInterchange – стандартный код информационного обмена США) введена в действие Институтом стандартизации США. В ней закреплены две части таблицы кодирования – базовая и расширенная. В базовой расположены значения кодов от 0 до 127, а в расширенной – от 128 до 255. Первые 32 кода базовой таблицы, начиная с нулевого, используются только производителями аппаратных средств. Этими номерами обозначены неотображаемые управляющие коды. С 32 по 127 коды – символы английского алфавита, знаки препинания и т.д. Коды с 128 до 255 используются различными странами для кодирования знаков алфавита своих языков. В частности, для кодирования знаков русского языка используются таблицы Windows-1251 (введена компанией Microsoft), КОИ-8 (Код обмена информацией восьмизначный – введена в действие в России и широко распространена в компьютерных сетях).

Кроме этого, в настоящее время существует таблица кодирования Unicode – 16-разрядная система кодирования знаков алфавита большинства языков планеты.

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

Логический тип данных

Логические величины принимают только два значения – TRUE (истина) и FALSE (ложь). К ним можно применять логические операции, основными из которых являются: AND (конъюнкция – логическое И), OR (дизъюнкция – логическое ИЛИ) и NOT (инверсия – логическое отрицание).

В некоторых программах конъюнкция обозначается знаками & или , например

A &B или A B.

В некоторых программах дизъюнкция обозначается знаками или |, например

A B или A|B.

В некоторых программах конъюнкция обозначается знаками (или ¯ ), например

A или .

Первые две операции применяются к двум логическим величинам (например, a AND b или c OR d), а операция NOT – к одной (например, NOT a). Результатом выражения с логическими данными (логические выражения) является логическая величина. Результат операции AND равен TRUE только в том случае, если обе величины равны TRUE, в остальных случаях результат равен FALSE. Если применяется операция OR, то результат равен FALSE только в том случае, если обе величины FALSE, в остальных случаях результат равен TRUE. Операция NOT изменяет значение логической величины: результат равен TRUE, если величина равна FALSE, и наоборот. Среди логических первой выполняется операция Not, затем And и последней Or. Порядок выполнения операций может быть изменен использованием скобок(например, если

a = TRUE, b = FALSE и c = FALSE, то выражение aAND (bORNOTc) равно TRUE.)

Например, если

a = TRUE, b = FALSE и c = FALSE,

то выражение

a AND (b OR NOT c)

равно TRUE

При этом используются следующие обозначения

 

или – конъюнкция;

или – дизъюнкция;

или – инверсия.

Можно для обозначения одной вершиной сразу двух операций «ИНЕ», «ИЛИНЕ» использовать следующую форму:

Это позволяет сократить схему. Конструкцию «ИЛИНЕ» еще называют логической операцией «исключающее ИЛИ» и для ее обозначения используют следующий элемент схемы:

Например, логическое выражение

F =

может быть представлено схемой

Например, схема

представляет логическое выражение

F = .

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

Для упрощения логических выражений можно использовать следующие соотношения:

1. эквивалентно ;

2. эквивалентно & ;

3. A A&B = A& (1 B) = A.

В их справедливости можно убедиться, проверив результаты логических выражений при всех возможных значениях A и B. Первое и второе соотношения носят названия законов Моргáна.

Например, в результате упрощения логического выражения F =

получится выражение

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

(Для упрощения логических выражений можно использовать следующие соотношения:

1. эквивалентно ;

2. эквивалентно & ;

3. A A&B = A& (1 B) = A.

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

Логическая схема:

При этом используются следующие обозначения

 

или – конъюнкция;

или – дизъюнкция;

или – инверсия.

Можно для обозначения одной вершиной сразу двух операций «ИНЕ», «ИЛИНЕ» использовать следующую форму:

Это позволяет сократить схему. Конструкцию «ИЛИНЕ» еще называют логической операцией «исключающее ИЛИ» и для ее обозначения используют следующий элемент схемы:

1.Например, логическое выражение

F =

может быть представлено схемой

2.Например, схема

представляет логическое выражение

F =

 


Поделиться с друзьями:

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

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

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

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.065 с.