Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Особенности типов данных char. Литералы




В С# символы представляются не 8-разрядными величинами, как в С++, а 16-разрядными. Для представления символов в С# используется Unicode (уникод), 16-разрядный стандарт кодирования символов, позволяющий представлять алфавиты всех существующих в мире языков. Хотя во многих языках (например, в английском, немецком, французском) алфавиты относительно невелики, существуют языки (например, китайский), построенные на очень больших наборах символов, которые нельзя представить восьмью битами. Чтобы можно было "охватить" символьные наборы всех языков, требуются 16-разрядные значения.

В С# char - это 16-разрядный тип без знака, который позволяет представлять значения в диапазоне 0-65535. Стандартный 8-разрядный набор символов ASCII составляет лишь подмножество Unicode с диапазоном 0 – 127.

 

Поскольку С# - строго типизированный язык, литералы в нем также имеют тип.

С# определяет несколько простых правил, позволяющих определить тип литерала:

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

2) Все литералы с плавающей точкой имеют тип double.

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

Чтобы задать литерал типа long, присоедините к его концу букву 1 или L.

Например, если значение 12 автоматически приобретает тип int, но значение 12L имеет тип long.

Чтобы определить целочисленное значение без знака, используется суффикс u или U. Так, если значение 100 имеет тип int, но значение 100U - тип uint.

Для задания длинного целого без знака используется суффикс ul или UL (например, значение 987 654UL будет иметь тип ulong).

Чтобы задать литерал типа float, используется суффикс f или F (например, 10.19F).

Чтобы задать литерал типа decimal, используется суффикс m или М (например, 9. 95М).

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

 

Язык С# позволяет задавать целочисленные константы в шестнадцатеричном формате. Шестнадцатеричный литерал должен начинаться с пары символов 0х (нуля и буквы "х").

Пример.

count = 0xFF; // 255 в десятичной системе

incr= 0x1а; // 26 в десятичной системе

 




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


Дата добавления: 2015-08-31; Просмотров: 272; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.