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# сгенерирует код, в котором старший разряд целого числа используется в качестве