C# 4.0: полное руководство | страница 37
Таблица. 3.1. Типы значений в C#
>Тип >Значение
>bool >Логический, предоставляет два значения: “истина” или “ложь”
>byte >8-разрядный целочисленный без знака
>char >Символьный
>decimal >Десятичный (для финансовых расчетов)
>double >С плавающей точкой двойной точности
>float >С плавающей точкой одинарной точности
>int >Целочисленный
>long >Длинный целочисленный
>sbyte >8-разрядный целочисленный со знаком
>short >Короткий целочисленный
>uint >Целочисленный без знака
>ulong >Длинный целочисленный без знака
>ushort >Короткий целочисленный без знака
В C# строго определены пределы и характер действия каждого типа значения. Исходя из требований к переносимости программ, C# не допускает в этом отношении никаких компромиссов. Например, тип int должен быть одинаковым во всех средах выполнения. Но в этом случае отпадает необходимость переписывать код для конкретной платформы. И хотя строгое определение размерности типов значений может стать причиной незначительного падения производительности в некоторых средах, эта мера необходима для достижения переносимости программ.
----------------------------------
ПРИМЕЧАНИЕ
Помимо простыхтипов, в C# определены еще три категории типов значений: перечисления, структуры и обнуляемые типы. Все они рассматриваются далее в этой книге.
----------------------------------
Целочисленные типы
В C# определены девять целочисленных типов: >char, byte, sbyte, short, ushort, int, uint, long и >ulong. Но тип char применяется, главным образом, для представления символов и поэтому рассматривается далее в этой главе. Остальные восемь целочисленных типов предназначены для числовых расчетов. Ниже представлены их диапазон представления чисел и разрядность в битах.
>Тип >Разр.(бит) >Диапазон представления чисел
>byte >8 >0 - 255
>sbyte >8 >-128 - +127
>short >16 >-32768 - +32767
>ushort >16 >0 - 65535
>int >32 >-2147483648 - +2147483647
>uint >32 >0 - 4294967295
>long >64 >-9223372036854775808 - +9223372036854775807
>ulong >64 >0 - 18446744073709551615
Как следует из приведенной выше таблицы, в C# определены оба варианта различных целочисленных типов: со знаком и без знака. Целочисленные типы со знаком отличаются от аналогичных типов без знака способом интерпретации старшего разряда целого числа. Так, если в программе указано целочисленное значение со знаком, то компилятор C# сгенерирует код, в котором старший разряд целого числа используется в качестве