какие типы данных относятся к основным

Какие типы данных относятся к основным

Концепция типов данных является важнейшей стороной лю­бого языка программирования.

В Си/Си++ имеется четыре базовых арифметических (число­вых) типа данных. Из них два целочисленных — char, int — и два плавающих (вещественных) — float и double. Кроме того, в программах можно использовать некоторые модификации этих ти­пов, описываемых с помощью служебных слов — модификаторов. Существуют два модификатора размера — short (короткий) и long (длинный) — и два модификатора знаков — signed (знако­вый) и unsigned (беззнаковый). Знаковые модификаторы при­меняются только к целым типам.

Как известно, тип величины связан с ее формой внутреннего представления, множеством принимаемых значений и множеством операций, применимых к этой величине. В табл. 1 перечислены арифметические типы данных Си++, указан объем занимаемой памяти и диапазон допустимых значений.

Размер типа int и unsigned int зависит от размера слова операционной системы, в которой работает компилятор Си++. В 16-разрядных ОС (MS DOS) этим типам соответствуют 2 байта, в 32-разрядных (Windows) — 4 байта.

какие типы данных относятся к основным. Смотреть фото какие типы данных относятся к основным. Смотреть картинку какие типы данных относятся к основным. Картинка про какие типы данных относятся к основным. Фото какие типы данных относятся к основным

Эквивалентные названия типа

зависит от системы

зависит от системы

short, signed short int

unsigned short int

long, signed long int

Анализируя данные табл. 1, можно сделать следующие выводы:

o если не указан базовый тип, то по умолчанию подразумевается int;

o если не указан модификатор знаков, то по умолчанию подра­зумевается signed;

o с базовым типом float модификаторы не употребляются;

o модификатор short применим только к базовому типу int.

Программисту, работавшему на Паскале, покажется странным, что тип char причислен к арифметическим типам. Ведь даже его имя указывает на то, что это символьный тип! В Си/Си++ вели­чины типа char могут рассматриваться в программе и как симво­лы, и как целые числа. Все зависит от контекста, т. е. от способа использования этой величины. В случае интерпретации величины типа char как символа ее числовое значение является ASCII-кодом. Следующий пример иллюстрирует сказанное.

printf(«%c»,а); /*На экране появится символ А*/

printf(«%d»,a); /*На экране появится число 65*/

Символы «%с» являются спецификацией формата ввода/выво­да символьных данных, a «%d» — спецификацией для целых чисел.

Еще одной особенностью Си является отсутствие среди базовых типов логического типа данных. Между тем, как мы дальше увидим, в Си использу­ются логические операции и логические выражения. В качестве логических величин в Си/Си++ выступают целые числа. Интер­претация их значений в логические величины происходит по пра­вилу: равно нулю — ложь, не равно нулю — истина.

В последние версии Си++ добавлен отдельный логический тип с именем bool. Его относят к разновидности целых типов данных.

Описание переменных в программах на Си/Си++ имеет вид:

unsigned char code;

unsigned long long number;

long double max__num;

Одновременно с описанием можно задать начальные значения переменных. Такое действие называется инициализацией перемен­ных. Описание с инициализацией производится по следующей схеме:

тип имя_переменной = начальное_значение

unsigned int year=2 000;

Тип константы компилятор определяет по следующим пра­вилам: если значение константы лежит в диапазоне типа int, то она получает тип int; в противном случае проверяется, ле­жит ли константа в диапазоне типа unsigned int, в случае положительного ответа она получает этот тип; если не подхо­дит и он, то пробуется тип long и, наконец, unsigned long. Если значение числа не укладывается в диапазон типа unsigned long, то возникает ошибка компиляции.

3.14159F — константа типа float, под которую выделяется 4 байта памяти;

3.14L — константа типа long double, занимает 10 байт;

50000U — константа типа unsigned int, занимает 2 байта памяти (вместо четырех без суффикса);

0LU — константа типа unsigned long, занимает 4 байта;

24242424UL — константа типа unsigned long, занимает 4 байта.

Особую разновидность символьных констант представляют так называемые управляющие символы. Их назначение — управление выводом на экран. Как известно, такие символы расположены в начальной части кодовой таблицы ASCII (коды от 0 до 31) и не имеют графического представления. В программе на Си они изоб­ражаются парой символов, первый из которых ‘ \ ‘. Вот некото­рые из управляющих символов:

‘ \ n ‘ — переход на новую строку;

‘ \t’ — горизонтальная табуляция;

Управляющие символьные последовательности являются частным случаем эскейп-последовательностей (ESC-sequence), с помощью которых можно задать символьную константу указанием ее кода. Код символа можно указать в восьмеричном или в шестнадцатеричном представлении. Формат восьмеричного представления: ‘\ddd’. Здесь d — восьмеричная цифра (от 0 до 7). Формат шестнадцатеричного представления:’ \xhh’ (или ‘ \xhh’), где h — шестнадцатеричная цифра (от 0 до F). Например, константа, соответствующая заглав­ной латинской букве А, может быть представлена тремя способа­ми: ‘А’, ‘\101’, ‘\х41’.

const float pi=3.14159;

const int iMIN=l, iMAX=1000;

#define константы> Оначение константы>

Тип констант явно не указывается и определяется по форме записи. В конце директивы не ставится точка с запятой.

На стадии препроцессорной обработки указанные имена заме­няются на соответствующие значения. Например, если в програм­ме присутствует оператор

то в результате препроцессорной обработки он примет вид:

При этом идентификаторы iMAX и iMIN не требуют описания внутри программы.

В результате имени А будет сопоставлена константа 0, имени B — константа 1, C — 2, D — 3. По умолчанию значение первой константы равно нулю.

Для любой константы можно явно указать значение. Например:

В результате будут установлены следующие соответствия: А=10, B=11, C=12, D=13.

Возможен и такой вариант определения перечисления:

Если перечисляемому типу дать имя, то его можно использо­вать в описании переменных. На­пример:

Здесь идентификатор metal становится именем типа. После та­кого описания в программе возможны следующие операторы:

Источник

Структура языка программирования

Содержание

Дополнительно

Классификация типов данных

какие типы данных относятся к основным. Смотреть фото какие типы данных относятся к основным. Смотреть картинку какие типы данных относятся к основным. Картинка про какие типы данных относятся к основным. Фото какие типы данных относятся к основным

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

В большинстве языков программирования, простые типы жестко связаны с их представлением в памяти компьютера. Компьютер хранит данные в виде последовательности битов, каждый из которых может иметь значение 0 и 1. Фрагмент данных в памяти может выглядеть следующим образом

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

Числовые типы данных

Целочисленные типы данных

Исходя из машинного представления целого числа, в ячейке памяти из n бит может хранится 2 n для беззнаковых, и 2 n-1 для знаковых типов.

Рассмотрим теперь конкретные целочисленные типы в трёх языках.

У некоторых типов есть приписка «16 разрядов» или «32 разряда». Это означает, что в зависимости от разрядности операционной системы и компилятора данный тип будет находится в соответствующем диапазоне. По-этому, рекомендуется не использовать int, unsigned int, а использовать их аналоги, но уже жестко определенные, short, long, unsigned short, unsigned long.

В Java нет беззнаковых целочисленных типов данных.

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

Числа вещественного типа данных задаются в форме чисел с плавающей запятой.

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

Вывод: вещественные типы данных, в отличии от целочисленных, характеризуются диапазоном точности и количеством значащих разрядов.

Рассмотрим конкретные типы данных в наших трёх языках.

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

Символьный тип данных

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

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

Перечислимый тип данных

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

Чтобы прочувствовать эту концепцию, приведем пример на языке С++ (в С# и Java аналогично)

Теперь переменные перечислимого типа Forms могут принимать лишь значения, определенные в примере кода. Это очень удобно, ведь мы уже оперируем не с числами, а с некими смысловыми значениями, замечу лишь, что для компьютера эти значения всё-равно являются целыми числами.

Массив

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

В языках программирования нельзя оперировать всем массивом, работают с конкретным элементом. Чтобы доступиться до него в трёх рассматриваемых нами языках используют оператор «[]».

Структура

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

Например, есть колесо автомобиля. У колеса есть диаметр, толщина, шина. Шина в свою очередь является структурой, у которой есть свои параметры: материал, марка, чем заполнена. Естественно, для каждого параметра можно создать свою переменную или константу, у нас появится большое количество переменных, которые, чтобы понять к чему они относятся, нужно в именах общую часть выделять. Имена будут нести лишнюю смысловую нагрузку. Получается запутанная история. А так мы определяем две структуры, а затем параметры в них.

Класс

Еще одним пользовательским типом данных является класс. Класс умеет всё, что и структура, но кроме параметров, у него есть и методы, и поддерживает большое количество вещей, связанных с объектно-ориентированным программированием.

Источник

Типы данных

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

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

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

Классификация типов данных

Любые данные могут быть отнесены к одному из двух типов: простому (основному), форма представления которого определяется архитектурой ЭВМ, или сложному, конструируемому пользователем для решения конкретных задач. Данные простого типа — это символы, числа и т.п. элементы, дальнейшее дробление которых не имеет смысла. Из таких элементарных данных формируются структуры (сложные типы) данных.

Принято различать следующие типы данных:

Рассмотрим перечисленные типы данных подробнее.

Простые типы

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

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

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

Логический тип. Данные этого типа имеют два значения: истина (true) и ложь (false). К ним могут применяться логические операции. Используется в условных выражениях, операторах ветвления и циклах. В некоторых языках, например С, является подтипом числового типа, при этом ложь = 0, истина = 1 (или истинным считается любое значение, отличное от нуля).

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

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

Указатель (тип данных). Если описанные выше типы данных представляли какие-либо объекты реального мира, то указатели представляют объекты компьютерного мира, то есть являются исключительно компьютерными терминами. Переменная-указатель хранит адрес в памяти компьютера, указывающий на какую-либо информацию, как правило — на другую переменную.

Составные типы

Составные типы формируются на основе комбинаций простых типов.

Массив является индексированным набором элементов одного типа, простого или составного (см. “Операции с массивами”). Одномерный массив предназначен для компьютерной реализации такой структуры, как вектор, двухмерный массив — таблицы.

Строковый тип. Хранит строку символов. Вообще говоря, может рассматриваться как массив символов, но иногда рассматривается в качестве простого типа. Часто используется для хранения фамилий людей, названий предметов и т.п. К элементам этого типа может применяться операция конкатенации (сложения) строк. Обычно реализованы также операции сравнения над строками, в том числе операции “ ”, которые интерпретируются как сравнение строк согласно алфавитному порядку (алфавитом здесь является набор символов соответствующей кодовой таблицы). Во многих языках реализованы и специальные операции над строками: поиск заданного символа (подстроки), вставка символа, удаление символа, замена символа.

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

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

Преимущества от использования типов данных

Типы данных защищают программы по крайней мере от следующих ошибок:

1. Некорректное присваивание. Пусть переменная объявлена как имеющая числовой тип. Тогда попытка присвоить ей символьное или какое-либо другое значение приведет к ошибке еще на этапе компиляции. Такого рода ошибки трудно отследить обычными средствами.

2. Некорректная операция. Типизация позволяет избежать попыток применения выражений вида “Hello world” + 1. Поскольку, как уже говорилось, все переменные в памяти хранятся как наборы битов, то при отсутствии типов подобная операция была выполнима (и могла дать результат вроде “Hello worle”!). С использованием типов такие ошибки отсекаются опять же на этапе компиляции.

3. Некорректная передача параметров в процедуры и функции (см. “Подпрограммы”). Если функция “синус” ожидает, что ей будет передан числовой аргумент, то передача ей в качестве параметра строки “Hello world” может иметь непредсказуемые последствия. При помощи контроля типов такие ошибки также отсекаются на этапе компиляции или приводят к ошибкам выполнения программы, если значения параметра вводятся с клавиатуры или файла.

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

Методические программы

При изучении данной темы самое главное — разделить следующие понятия:

данные — тип данных — абстрактная структура данных — структура данных

Типом данныхпеременной называют множество значений, которые может принимать эта переменная, и множество операций, которые применимы к этим значениям.

Абстрактная структура данных (см. “Структуры данных”) — это некоторая математическая модель данных (см. выше), включающая различные операции, определенные в рамках этой модели. Для реализации абстрактной структуры в том или ином языке программирования используются структуры, которые представляют собой набор переменных, возможно различных типов данных, объединенных определенным образом. При этом одна и та же абстрактная структура данных может быть реализована через различные структуры языка программирования. Например, такая абстрактная структура данных, как список, может быть реализована с использованием массива, файла или списка динамических переменных. Примеры различных структур данных, реализующих абстрактную структуру граф, приведены в статье “Табличные модели” 2.

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

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

Пример. С помощью программы на языке Borland Pascal вычислим значение n! (факториал числа n). Версия языка в данном случае указана потому, что ею определяется количество разрядов, отводимых на переменные определенного типа. В данном случае на переменные типа integer отводится 16 бит, что определяет диапазон значений этого знакового типа от –32 768 до 32 767.

При запуске этой программы для n = 7, 8 и 10 мы получим 5040, –25 216 и 24 320 соответственно. Первое полученное значение является верным, второе (отрицательное) может натолкнуть программиста на мысль, что в результате арифметических действий произошел выход за границу диапазона значений типа, а вот третье число само по себе может показаться верным, хотя, конечно, это не так.

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

Следует подчеркнуть, что для целого типа выход за диапазон значений не приводит к прерыванию работы процессора (компьютер выдает неверные результаты), а для вещественных чисел (переполнение порядка) — это аварийная ситуация (floating point error), которая не пройдет незамеченной.

Источник

Какие типы данных относятся к основным

рТПУФЩЕ УФТХЛФХТЩ ДБООЩИ ОБЪЩЧБАФ ФБЛЦЕ РТЙНЙФЙЧОЩНЙ ЙМЙ ВБЪПЧЩНЙ УФТХЛФХТБНЙ. ьФЙ УФТХЛФХТЩ УМХЦБФ ПУОПЧПК ДМС РПУФТПЕОЙС ВПМЕЕ УМПЦОЩИ УФТХЛФХТ. ч СЪЩЛБИ РТПЗТБННЙТПЧБОЙС РТПУФЩЕ УФТХЛФХТЩ ПРЙУЩЧБАФУС РТПУФЩНЙ (ВБЪПЧЩНЙ) ФЙРБНЙ. л ФБЛЙН ФЙРБН ПФОПУСФУС: ЮЙУМПЧЩЕ, ВЙФПЧЩЕ, МПЗЙЮЕУЛЙЕ, УЙНЧПМШОЩЕ, РЕТЕЮЙУМСЕНЩЕ, ЙОФЕТЧБМШОЩЕ, ХЛБЪБФЕМЙ. ч ДБМШОЕКЫЕН ЙЪМПЦЕОЙЙ НЩ ПТЙЕОФЙТХЕНУС Ч ПУОПЧОПН ОБ СЪЩЛ PASCAL Й ЕЗП ТЕБМЙЪБГЙЙ Ч УТЕДЕ MS DOS. уФТХЛФХТБ РТПУФЩИ ФЙРПЧ PASCAL РТЙЧЕДЕОБ ОБ ТЙУ 2.1 (ЮЕТЕЪ ЪБРСФХА ХЛБЪБО ТБЪНЕТ РБНСФЙ Ч ВБКФБИ, ФТЕВХЕНЩК ДМС ТБЪНЕЭЕОЙС ДБООЩИ УППФЧЕФУФЧХАЭЕЗП ФЙРБ). ч ДТХЗЙИ СЪЩЛБИ РТПЗТБННЙТПЧБОЙС ОБВПТ РТПУФЩИ ФЙРПЧ НПЦЕФ ОЕУЛПМШЛП ПФМЙЮБФШУС ПФ ХЛБЪБООПЗП. тБЪНЕТ ЦЕ РБНСФЙ, ОЕПВИПДЙНЩК ДМС ДБООЩИ ФПЗП ЙМЙ ЙОПЗП ФЙРБ, НПЦЕФ ВЩФШ ТБЪОЩН ОЕ ФПМШЛП Ч ТБЪОЩИ СЪЩЛБИ РТПЗТБННЙТПЧБОЙС, ОП Й Ч ТБЪОЩИ ТЕБМЙЪБГЙСИ ПДОПЗП Й ФПЗП ЦЕ СЪЩЛБ.

тЙУ. 2.1. уФТХЛФХТБ РТПУФЩИ ФЙРПЧ PASCAL.

2.1. юЙУМПЧЩЕ ФЙРЩ

2.1.1. гЕМЩЕ ФЙРЩ

у РПНПЭША ГЕМЩИ ЮЙУЕМ НПЦЕФ ВЩФШ РТЕДУФБЧМЕОП ЛПМЙЮЕУФЧП ПВЯЕЛФПЧ, СЧМСАЭЙИУС ДЙУЛТЕФОЩНЙ РП УЧПЕК РТЙТПДЕ (Ф.Е. УЮЕФОПЕ ЮЙУМП ПВЯЕЛФПЧ).

рТЕДУФБЧМЕОЙЕ Ч РБНСФЙ.
дМС РТЕДУФБЧМЕОЙС ЮЙУЕМ УП ЪОБЛПН Ч ТСДЕ ЛПНРШАФЕТПЧ ВЩМ ЙУРПМШЪПЧБО НЕФПД, ОБЪЩЧБЕНЩК НЕФПДПН ЪОБЛБ Й ЪОБЮЕОЙС. пВЩЮОП ДМС ЪОБЛБ ПФЧПДЙФУС РЕТЧЩК (ЙМЙ УБНЩК МЕЧЩК) ВЙФ ДЧПЙЮОПЗП ЮЙУМБ ЪБФЕН УМЕДХЕФ ЪБРЙУШ УБНПЗП ЮЙУМБ.

ч ФП ЦЕ ЧТЕНС, РТЙ РПНПЭЙ ПВТБФОПЗП Й ДПРПМОЙФЕМШОПЗП ЛПДПЧ, ЙУРПМШЪХЕНЩИ ДМС РТЕДУФБЧМЕОЙС ПФТЙГБФЕМШОЩИ ЮЙУЕМ, ПРЕТБГЙС ЧЩЮЙФБОЙС (БМЗЕВТБЙЮЕУЛПЗП УМПЦЕОЙС) УЧПДЙФУС Л ПРЕТБГЙЙ РТПУФПЗП БТЙЖНЕФЙЮЕУЛПЗП УМПЦЕОЙС. рТЙ ЬФПН ПРЕТБГЙС УМПЦЕОЙС ТБУРТПУФТБОСЕФУС Й ОБ ТБЪТСДЩ ЪОБЛПЧ, ТБУУНБФТЙЧБЕНЩИ ЛБЛ ТБЪТСДЩ ГЕМПК ЮБУФЙ ЮЙУМБ. йНЕООП РПЬФПНХ ДМС РТЕДУФБЧМЕОЙС ГЕМЩИ ЮЙУЕМ УП ЪОБЛПН РТЙНЕОСЕФУС ДПРПМОЙФЕМШОЩК ЛПД.

дМС РПМПЦЙФЕМШОЩИ ЮЙУЕМ РТСНПК, ПВТБФОЩК Й ДПРПМОЙФЕМШОЩК ЛПДЩ ПДЙОБЛПЧЩ. бОБМПЗЙЮОП РТЕДУФБЧМСАФУС ГЕМЩЕ ЮЙУМБ Ч ЖПТНБФЕ shortint, longint, comp.

рТЙ ТБЪТБВПФЛЕ РТПЗТБНН ОБ ЬФБРЕ ЧЩВПТБ ФЙРБ ДБООЩИ ЧБЦОП ЪОБФШ ДЙБРБЪПО ГЕМЩИ ЧЕМЙЮЙО, ЛПФПТЩЕ НПЗХФ ИТБОЙФШУС Ч n ТБЪТСДБИ РБНСФЙ. ч УППФЧЕФУФЧЙЙ У БМЗПТЙФНПН РТЕПВТБЪПЧБОЙС ДЧПЙЮОЩИ ЮЙУЕМ Ч ДЕУСФЙЮОЩЕ, ЖПТНХМБ УХННЙТПЧБОЙС ДМС n ТБЪТСДПЧ ЙНЕЕФ ЧЙД:

фЙРдЙБРБЪПО ЪОБЮЕОЙКнБЫЙООПЕ РТЕДУФБЧМЕОЙЕ
shortint-128..1278 ВЙФ, УП ЪОБЛПН
integer-32768..3276716 ВЙФ, УП ЪОБЛПН
longint-2147483648..214748364732 ВЙФБ, УП ЪОБЛПН
byte0..2558 ВЙФ, ВЕЪ ЪОБЛБ
word0..6553516 ВЙФ, ВЕЪ ЪОБЛБ
comp-2^63+1..2^63-164 ВЙФБ, УП ЪОБЛПН

фБВМЙГБ 2.1

йОЩНЙ УМПЧБНЙ, ДЙБРБЪПО ЧПЪНПЦОЩИ ЪОБЮЕОЙК ГЕМЩИ ФЙРПЧ ЪБЧЙУЙФ ПФ ЙИ ЧОХФТЕООЕЗП РТЕДУФБЧМЕОЙС, ЛПФПТПЕ НПЦЕФ ЪБОЙНБФШ 1, 2 ЙМЙ 4 ВБКФБ. ч ФБВМЙГЕ 2.1 РТЙЧПДЙФУС РЕТЕЮЕОШ ГЕМЩИ ФЙРПЧ, ТБЪНЕТ РБНСФЙ ДМС ЙИ ЧОХФТЕООЕЗП РТЕДУФБЧМЕОЙС Ч ВЙФБИ, ДЙБРБЪПО ЧПЪНПЦОЩИ ЪОБЮЕОЙК.

нБЫЙООПЕ РТЕДУФБЧМЕОЙЕ ВЕЪЪОБЛПЧЩИ ФЙРПЧ.

л ВЕЪЪОБЛПЧЩН ФЙРБН Ч PASCAL ПФОПУСФУС ФЙРЩ BYTE Й WORD.

жПТНБФ НБЫЙООПЗП РТЕДУФБЧМЕОЙС ЮЙУЕМ ФЙРБ BYTE РТЙЧЕДЕО ОБ ТЙУ 2.2. Б).

тЙУ. 2.2. жПТНБФ НБЫЙООПЗП РТЕДУФБЧМЕОЙС ВЕЪЪОБЛПЧЩИ ЮЙУЕМ

жПТНБФ НБЫЙООПЗП РТЕДУФБЧМЕОЙС ЮЙУЕМ ФЙРБ WORD РТЙЧЕДЕО ОБ ТЙУ. 2.2. В).

нБЫЙООПЕ РТЕДУФБЧМЕОЙЕ ЮЙУЕМ УП ЪОБЛПН.

дМС РТЕДУФБЧМЕОЙС ЮЙУЕМ УП ЪОБЛПН ПРТЕДЕМЕОЩ УМЕДХАЭЙЕ ФЙРЩ SHORTINT, INTEGER, LONGINT. ч РТЙЧЕДЕООЩИ ФЙРБИ ЮЙУМБ ИТБОСФУС Ч ДПРПМОЙФЕМШОПН ЛП- ДЕ. оБРПНОЙН, ЮФП ДПРПМОЙФЕМШОЩК ЛПД РПМПЦЙФЕМШОЩИ ЮЙУЕМ УПЧРБДБЕФ У РТСНЩН ЛПДПН.

жПТНБФ НБЫЙООПЗП РТЕДУФБЧМЕОЙС ЮЙУЕМ ФЙРБ SHORTINT РТЙЧЕДЕО ОБ ТЙУ 2.3. Б) ЗДЕ s-ЪОБЛПЧЩК ТБЪТСД ЮЙУМБ. дМС РПМПЦЙФЕМШОЩИ ЮЙУЕМ s=0, ДМС ПФТЙГБФЕМШОЩИ s=1.

жПТНБФ НБЫЙООПЗП РТЕДУФБЧМЕОЙС ЮЙУЕМ ФЙРБ INTEGER РТЙЧЕДЕО ОБ ТЙУ 2.3. В). оБРТЙНЕТ:

нБЫЙООПЕ РТЕДУФБЧМЕОЙЕ ЗТБОЙГ ДЙБРБЪПОБ ДПРХУФЙНЩИ ЪОБЮЕОЙК:

жПТНБФ НБЫЙООПЗП РТЕДУФБЧМЕОЙС ЮЙУЕМ ФЙРБ LONGINT РТЙЧЕДЕО ОБ ТЙУ 2.3. Ч). оБРТЙНЕТ, РТЕДУФБЧМЕОЙЕ ЮЙУЕМ Ч ЖПТНБФЕ longint:

тЙУ. 2.3. жПТНБФ НБЫЙООПЗП РТЕДУФБЧМЕОЙС ЮЙУЕМ УП ЪОБЛПН

тЙУ. 2.4. жПТНБФ НБЫЙООПЗП РТЕДУФБЧМЕОЙС ДБООЩИ ФЙРБ COMP

2.1.2. чЕЭЕУФЧЕООЩЕ ФЙРЩ

ч ПФМЙЮЙЙ ПФ РПТСДЛПЧЩИ ФЙРПЧ (ЧУЕ ГЕМЩЕ, УЙНЧПМШОЩК, МПЗЙЮЕУЛЙК), ЪОБЮЕОЙС ЛПФПТЩИ ЧУЕЗДБ УПРПУФБЧМСАФУС У ТСДПН ГЕМЩИ ЮЙУЕМ Й, УМЕДПЧБФЕМШОП, РТЕДУФБЧМСАФУС Ч РБНСФЙ НБЫЙОЩ БВУПМАФОП ФПЮОП, ЪОБЮЕОЙЕ ЧЕЭЕУФЧЕООЩИ ФЙРПЧ ПРТЕДЕМСЕФ ЮЙУМП МЙЫШ У ОЕЛПФПТПК ЛПОЕЮОПК ФПЮОПУФША, ЪБЧЙУСЭЕК ПФ ЧОХФТЕООЕЗП ЖПТНБФБ ЧЕЭЕУФЧЕООПЗП ЮЙУМБ.

рТЕДУФБЧМЕОЙЕ ЧЕЭЕУФЧЕООЩИ ЮЙУЕМ Ч РБНСФЙ.

ч ОЕЛПФПТЩИ ПВМБУФСИ ЧЩЮЙУМЕОЙК ФТЕВХАФУС ПЮЕОШ ВПМШЫЙЕ ЙМЙ ЧЕУШНБ НБМЩЕ ДЕКУФЧЙФЕМШОЩЕ ЮЙУМБ. дМС РПМХЮЕОЙС ВПМШЫЕК ФПЮОПУФЙ РТЙНЕОСАФ ЪБРЙУШ ЮЙУЕМ У РМБЧБАЭЕК ФПЮЛПК. ъБРЙУШ ЮЙУМБ Ч ЖПТНБФЕ У РМБЧБАЭЕК ФПЮЛПК СЧМСЕФУС ЧЕУШНБ ЬЖЖЕЛФЙЧОЩН УТЕДУФЧПН РТЕДУФБЧМЕОЙС ПЮЕОШ ВПМШЫЙИ Й ЧЕУШНБ НБМЩИ ЧЕЭЕУФЧЕООЩИ ЮЙУЕМ РТЙ ХУМПЧЙЙ, ЮФП ПОЙ УПДЕТЦБФ ПЗТБОЙЮЕООПЕ ЮЙУМП ЪОБЮБЭЙИ ГЙЖТ, Й, УМЕДПЧБФЕМШОП, ОЕ ЧУЕ ЧЕЭЕУФЧЕООЩЕ ЮЙУМБ НПЗХФ ВЩФШ РТЕДУФБЧМЕОЩ Ч РБНСФЙ. пВЩЮОП ЮЙУМП ЙУРПМШЪХЕНЩИ РТЙ ЧЩЮЙУМЕОЙСИ ЪОБЮБЭЙИ ГЙЖТ ФБЛПЧП, ЮФП ДМС ВПМШЫЙОУФЧБ ЪБДБЮ ПЫЙВЛЙ ПЛТХЗМЕОЙС РТЕОЕВТЕЦЙНП НБМЩ.

жПТНБФ ДМС РТЕДУФБЧМЕОЙС ЮЙУЕМ У РМБЧБАЭЕК ФПЮЛПК УПДЕТЦЙФ ПДОП ЙМЙ ДЧБ РПМС ЖЙЛУЙТПЧБООПК ДМЙОЩ ДМС ЪОБЛПЧ. лПМЙЮЕУФЧП РПЪЙГЙК ДМС ЪОБЮБЭЙИ ГЙЖТ ТБЪМЙЮОП Ч ТБЪОЩИ ьчн, ОП УХЭЕУФЧХЕФ, ФЕН ОЕ НЕОЕЕ, ПВЭЙК ЖПТНБФ, РТЙЧЕДЕООЩК ОБ ТЙУХОЛЕ 2.5 Б). ч УППФЧЕФУФЧЙЙ У ЬФПК ЪБРЙУША ЖПТНБФ ЧЕЭЕУФЧЕООПЗП ЮЙУМБ УПДЕТЦЙФ Ч ПВЭЕН УМХЮБЕ РПМС НБОФЙУУЩ, РПТСДЛБ Й ЪОБЛПЧ НБОФЙУУЩ Й РПТСДЛБ.

тЙУ. 2.5. жПТНБФ РТЕДУФБЧМЕОЙС ЧЕЭЕУФЧЕООЩИ ЮЙУЕМ

пДОБЛП, ЮБЭЕ ЧНЕУФП РПТСДЛБ ЙУРПМШЪХЕФУС ИБТБЛФЕТЙУФЙЛБ, РПМХЮБАЭБСУС РТЙВБЧМЕОЙЕН Л РПТСДЛХ ФБЛПЗП УНЕЭЕОЙС, ЮФПВЩ ИБТБЛФЕТЙУФЙЛБ ВЩМБ ЧУЕЗДБ РПМПЦЙФЕМШОЩК. рТЙ ЬФПН ЙНЕЕФ НЕУФП ЖПТНБФ РТЕДУФБЧМЕОЙС ЧЕЭЕУФЧЕООЩИ ЮЙУЕМ ФБЛПК, ЛБЛ ОБ ТЙУ 2.5 В).

фБЛЙН ПВТБЪПН, ДМС РТЕДУФБЧМЕОЙС ЧЕЭЕУФЧЕООЩИ ЮЙУЕМ Ч РБНСФЙ ьчн РПТСДПЛ p ЧЕЭЕУФЧЕООПЗП ЮЙУМБ РТЕДУФБЧМСЕФУС Ч ЧЙДЕ ИБТБЛФЕТЙУФЙЛЙ РХФЕН ДПВБЧМЕОЙС УНЕЭЕОЙС (УФБТЫЕЗП ВЙФБ РПТСДЛБ):

жПТНХМЩ ДМС ЧЩЮЙУМЕОЙС ИБТБЛФЕТЙУФЙЛЙ Й ЛПМЙЮЕУФЧП ВЙФ, ОЕПВИПДЙНЩИ ДМС ЕЕ ИТБОЕОЙС, РТЙЧЕДЕОЩ Ч ФБВМЙГЕ 2.2.

фБВМЙГБ 2.2

уМЕДХАЭЙН ЛПНРПОЕОФПН РТЕДУФБЧМСЕНПЗП Ч НБЫЙОЕ ЮЙУМБ У РМБЧБАЭЕК ФПЮЛПК СЧМСЕФУС НБОФЙУУБ. дМС ХЧЕМЙЮЕОЙС ЛПМЙЮЕУФЧБ ЪОБЮБЭЙИ ГЙЖТ Ч РТЕДУФБЧМЕОЙЙ ЮЙУМБ Й ЙУЛМАЮЕОЙС РЕТЕРПМОЕОЙС РТЙ ХНОПЦЕОЙЙ НБОФЙУУХ ПВЩЮОП РПДЧЕТЗБАФ ОПТНБМЙЪБГЙЙ. оПТНБМЙЪБГЙС ПЪОБЮБЕФ, ЮФП НБОФЙУУБ (ОБЪПЧЕН ЕЕ F), ЛТПНЕ УМХЮБС, ЛПЗДБ F=0, ДПМЦОБ ОБИПДЙФШУС Ч ЙОФЕТЧБМЕ

дМС ДЧПЙЮОПК УЙУФЕНЩ УЮЙУМЕОЙС R=2. фПЗДБ Ч УЧСЪЙ У ФЕН, ЮФП 2^(-1)

Источник

Добавить комментарий

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