Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Преобразование типов (явное и неявное). Приведение типа




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

double d; // вещественный тип

long l; // целый тип

int i; // целый тип

if (d > i) d = i;

if (i > l) l = i;

if (d == l) d *= 2;

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

Явное приведение типа: Для явного приведения типов некоторой переменной перед ней следует указать в круглых скобках имя нового типа, например:

int X;

int Y = 200;

char C = 30;

X = (int)C * 10 + Y; //переменная С приведена к типу int.

Грубых ошибок в данном примере от автоматического приведения типов не произойдет, так как переменная C, которая имеет тип char будет приведена к типу int, так как здесь идет речь о «повышении» типа переменной к старшему в выражении(переменная С перед присваиванием неявно приводится к типу переменной Y). Но возможен один нюанс - в зав-сти от машинной реализации типа char при преобразовании char в int может получиться отрицательное число, потому рекомендуется использовать явное преобразование, а если все-таки есть преобразования типа char в int, char объявлять как беззнаковый(unsigned char).

22 Использование модификаторов при декларации типов данных. Ключев слова int, float, char ит.д. наз конечн атрибутами декларации объектов программы. При декларации т.н. производных объектов используют еще дополн– промежуточн атрибуты, «модификаторы». К символам модификации текущего типа относят: – символ * перед идентификатором, обозначает декларацию указателя на объект исходного типа; – символы [ ] после идентификатора объекта – декларация массива объектов; – символы () после идентификатора объекта – декларация функции (правые промежуточные атрибуты).

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

1) чем ближе модификатор к ID объекта,тем выше его приоритет;2)при одинаковом расстоян от идентификатора объекта модификаторы [ ] и () обладают приоритетом перед атрибутом звезды*;3)доп круглые скобки позвол изменить приоритет объединяемых ими эл-тов описа-ния; 4)квадратн и кругл скобки, имеющие одинаков приоритет, рассматрив слева направо.

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

Примеры декларации объектов с конечным атрибутом int: int a; – переменная типа int;

int a[5]; – массив из пяти элементов типа int; int *a; – указатель на объект типа int;

int **a; – указатель на указатель на объект типа int; int a(void); – функция без параметров, возвращающая значение типа int; int *a(void); – функция без параметров, возвращающая указатель на элемент типа int; int *a(void)[6]; – функция без параметров, возвращающая указатель на массив элементов. Существуют и недопустимые последовательности промежуточных атрибутов, например, массив не может состоять из функций, а функция не может возвращать массив или другую функцию.

23 Системы счисления. Кодовая таблица ASCII. Разнообразные системы счисления, кот сущ-ли раньше и кот исп-ся в наше время, делят на непозицион и позицион. Знаки, исп-зуемые при записи чисел, наз цифрами. В непозиц СС от положения цифры в записи числа не завис велич, кот она обознач. Примером непозиц СС явл римская система,I V X L C D M 1 5 10 50 100 500 1000. Например, VI = 5 + 1 = 6, а IX = 10 - 1 = 9. В позиц СС величина, обозначаемая цифрой в записи числа, зависит от ее позиции. Кол-во используемых цифр назыв основанием СС. Место каждой цифры в числе называется позицией. Первая известная нам система, основанная на позиционном принципе - шестидесятeричная вавилонская. Цифры в ней были 2х видов, одним из кот обозначались единицы, другим - десятки. Но наиб ценность для нас имеет индо-арабская десятичная система. Они первыми использ 0 для указания позицион значимости велич в строке цифр. Эта система получила название десятичной, так как в ней 10цифр. Для того чтоб лучше понять различие позицион и непозиц СС, рассмотрим пример сравнения двух чисел. В позицион СС сравнение 2х чисел происходит так: в рассматриваемых числах слева направо сравниваются цифры, стоящие в одинаковых позициях. Большая цифра соответствует большему значению числа. Например, для чисел 123 и 234, 1 меньше 2, поэтому число 234 больше, чем число 123. В непозицион СС это правило не действует. Примером этого может служить сравнение двух чисел IX и VI. Несмотря на то, что I меньше, чем V, число IX больше, чем число VI. ASCII — American Standard Code for Information Interchange — американский стандартный код для обмена информацией. ASCII представляет собой 8-битную кодировку для представления десятичных цифр, латинского и национального алфавитов, знаков препинания и управляющих символов. Нижнюю половину кодовой таблицы (0 — 127) занимают символы US-ASCII, а верхнюю (128 — 255) — разные другие нужные символы. Слово ASCII чаще употребляется в женском роде.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных