Всего на сайте:
282 тыс. 988 статей

Главная | Информатика

Литералы  Просмотрен 11

В C# литералами называются постоянные значения, представленные в удобной для восприятия форме. Например, число 100 является литералом.

В C# литералы могут быть любого простого типа. Представление каждого литерала зависит от конкретного типа.

Символьные литералы заключаются в одинарные кавычки. Например, 'а' и '%' являются символьными литералами.

Целочисленные литералы указываются в виде чисел без дробной части. Например, 10 и -100 — это целочисленные литералы.

Для обозначения литералов с плавающей точкой требуется указывать десятичную точку и дробную часть числа. Например, 11.123 — это литерал с плавающей точкой. Для вещественных чисел с плавающей точкой в C# допускается также использовать экспоненциальное представление.

 

У литералов должен быть также конкретный тип, поскольку C# является строго типизированным языком. В этой связи возникает естественный вопрос: к какому типу следует отнести числовой литерал, например, 2, 12 3987 или 0.23? К счастью, для ответа на этот вопрос в C# установлен ряд простых для соблюдения правил:

1 у целочисленных литералов должен быть самый мелкий целочисленный тип, которым они могут быть представлены, начиная с типа int. Таким образом, у целочисленных литералов может быть один из следующих типов: int, uint, long или ulong в зависимости от значения литерала.

2 литералы с плавающей точкой относятся к типу double.

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

Так, для указания типа long к литералу присоединяется суффикс l или L. Например, 12 — это литерал типа int, a 12L — литерал типа long. Для указания целочисленного типа без знака к литералу присоединяется суффикс u или U. Следовательно, 100 — это литерал типа int, a 100U — литерал типа uint.

А для указания длинного целочисленного типа без знака к литералу присоединяется суффикс ul или UL. Например, 984375UL — это литерал типа ulong.

Кроме того, для указания типа float к литералу присоединяется суффикс F или f. Например, 10.19F — это литерал типа float. Можете даже указать тип double, присоединив к литералу суффикс d или D, хотя это излишне. Ведь, как упоминалось выше, по умолчанию литералы с плавающей точкой относятся к типу double.

Для указания типа decimal к литералу присоединяется суффикс m или М. Например, 9.95М — это десятичный литерал типа decimal.

Несмотря на то что целочисленные литералы образуют по умолчанию значения типа int, uint, long или ulong, их можно присваивать переменным типа byte, sbyte, short или ushort, при условии, что присваиваемое значение может быть представлено целевым типом.

 

1 Переменная типа char может хранить только один символ (точнее, она хранит в себе код символа по таблице Unicode).

char c='a';

Тип char можно явно преобразовывать в типы ushort, int, uint, long, ulong, float, double, decimal.

2 sbyte — байт с учетом знака. Знаковый разряд всегда располагается в старшем (нулевом — счет идет слева направо) разряде (бите). В байте — 8 разрядов (битов). Поэтому минимальное число, которое может поместиться в такую память, — это –2 , т. е. –128

3 Буква u перед типом означает unsigned, т. е. беззнаковый.

4 Например, число 125,5 можно записать в виде 0,1255×103. Здесь 0,1255 — мантисса, а 3 — порядок числа.

 

 

Предыдущая статья:Целочисленные типы Следующая статья:Выражения
page speed (0.0144 sec, direct)