Читайте также: |
|
В C# определены девять целочисленных типов данных: char, byte, sbyte, short, ushort, int, uint, long и ulong. Тип данных char в основном применяется для представления символов и будет описан позже в этой главе. Остальные восемь типов используются для выполнения операций с числами. В следующей таблице перечислены эти типы, а также указано количество битов, выделяемых для представления числа, и диапазон возможных значений.
Тип | Количество битов | Диапазон значений |
byte | От 0 до 255 | |
sbyte | От -128 до 127 | |
short | От -32768 до 32767 | |
ushort | От 0 до 65535 | |
int | От -2147483648 до 2147483647 | |
uint | От 0 до 4294967295 | |
long | От -9223372036854775808 до 9223372036854775807 | |
ulong | От 0 до 18446774073709551615 |
Как показано в таблице, в C# определены как знаковые, так и беззнаковые варианты целочисленных типов. Различие между ними состоит в способе интерпретации старшего бита целого числа. Если указывается знаковое целое, то компилятор будет генерировать код, в котором предполагается интерпретация старшего бита целого числа как флага знака. Если флаг знака 0, то это положительное число; если флаг знака 1, то число отрицательное. Отрицательные числа практически всегда представлены с использованием метода двоичного дополнения. В этом методе все биты числа (за исключением флага знака) инвертируются, затем к этому числу прибавляется единица, в завершение флагу знака задается значение 1.
4Числа с плавающей точкой (действительные числа) в C#. Ограничения по точности.
Типы данных с плавающей точкой
Как уже говорилось в главе 1, типы данных с плавающей точкой могут представлять числа, имеющие дробные части. В С# существуют два типа данных с плавающей точкой, float и double, представляющие числа с одинарной и двойной точностью соответственно. Для представления данных типа float выделяются 32 бита, что позволяет присваивать переменным значения чисел, находящихся в диапазоне от 1.5E-45 до 3.4Е+38. Для представления данных типа double выделяются 64 бита, что расширяет диапазон используемых чисел до величин из диапазона от 5Е-324 до 1.7Е+308. Чаще всего применяется тип double. Одна из причин этого в том, что многие математические функции в библиотеке классов C# (которой является библиотека.NET Framework) используют значения, имеющие тип double. Например, метод Sqrt(), определенный в стандартном классе System.Math, возвращает значение типа double, являющееся квадратным корнем его аргумента, также имеющего тип double. Ниже в качестве примера приведена программа, в которой для вычисления длины гипотенузы, заданной длинами двух катетов, используется метод Sqrt().
Дата добавления: 2015-01-29; просмотров: 81 | Поможем написать вашу работу | Нарушение авторских прав |
|