- Подробности
- Автор: Квасов Е.Е.
Типы данных C#
Целочисленные типы
В С# определены девять целочисленных типов:
char,byte, sbyte, short, ushort, int, uint, long и
ulong.
Но тип char применяется, главным образом, для представления символов и
поэтому
рассматривается отдельно. Остальные восемь целочисленных типов
предназначены для числовых расчетов. Ниже представлены их диапазон
представления чисел и разрядность в битах:
Тип | Тип CTS | Разрядность в битах | Диапазон |
---|---|---|---|
System.Byte | 8 | 0:255 | |
sbyte | System.SByte | 8 | -128:127 |
short | System.Int16 | 16 | -32768:32767 |
ushort | System.UInt16 | 16 | 0:65535 |
int | System.Int32 | 32 | -2147483648:2147483647 |
uint | System.UInt32 | 32 | 0:4294967295 |
long | System.Int64 | 64 | -9223372036854775808: 9223372036854775807 |
ulong | System.UInt64 | 64 | 0: 18446744073709551615 |
Как следует из приведенной выше таблицы, в С# определены оба варианта различных целочисленных типов: со знаком и без знака. Целочисленные типы со знаком отличаются от аналогичных типов без знака способом интерпретации старшего разряда целого числа. Так, если в программе указано целочисленное значение со знаком, то компилятор С# сгенерирует код, в котором старший разряд целого числа используется в качестве флага знака. Число считается положительным, если флаг знака равен О, и отрицательным, если он равен 1. Отрицательные числа практически всегда представляются методом дополнения до двух, в соответствии с которым все двоичные разряды отрицательного числа сначала инвертируются, а затем к этому числу добавляется 1.
тип int.
Переменные типа int нередко используются для управления циклами, индексирования массивов и математических расчетов общего назначения. Когда же требуется целочисленное значение с большим диапазоном представления чисел, чем у типа int, то для этой цели имеется целый ряд других целочисленных типов. Так, если значение нужно сохранить без знака, то для него можно выбрать uint, для больших значений со знаком —тип long, а для больших значений без знака — тип ulong.