Числовые типы данных (Visual Basic)

Visual Basic применяет несколько числовых типов данных для обработки чисел в различном представлении. К целочисленным типам относятся только целые числа (положительные, отрицательные и ноль), а к нецелочисленным — числа с целой и дробной частями.

Таблицу, в которой приведено сравнение типов данных Visual Basic, см. в разделе Сводка типов данных (Visual Basic).

Целочисленные типы

К целочисленным типам данных относятся только числа без дробной части.

Знаковыми целочисленными типами данных являются: Тип данных SByte (Visual Basic) (8 бит), Тип данных Short (Visual Basic) (16 бит), Тип данных Integer (Visual Basic) (32 бита) и Тип данных Long (Visual Basic) (64 бита). Если переменная всегда хранит целые числа, а не дроби, следует объявить ее как один из этих типов.

Целочисленными типами данных без знака являются: Тип данных Byte (Visual Basic) (8 бит), Тип данных UShort (Visual Basic) (16 бит), Тип данных UInteger (32 бита) и Тип данных ULong (Visual Basic) (64 бита). Если переменная содержит двоичные данные или данные неизвестной природы, следует объявить ее как один из этих типов.

Производительность

Арифметические операции выполняются с целочисленными типами быстрее, чем с данными других типов. Быстрее всего они выполняются с типами Integer и UInteger в Visual Basic.

Длинные целые

При необходимости хранить целое число большее, чем может вместить тип данных Integer, можно использовать тип данных Long вместо него. Переменные Long могут хранить числа в диапазоне от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Операции с типом Long выполняются несколько медленнее, чем операции с типом Integer.

Если необходимо использовать значения еще большего размера, можно использовать Тип данных Decimal (Visual Basic). Если не используются никакие десятичные знаки, можно хранить числа в диапазоне от -79,228,162,514,264,337,593,543,950,335 до 79,228,162,514,264,337,593,543,950,335 в переменной Decimal. Однако операции с числами Decimal выполняются значительно медленнее, чем над любым другим типом числовых данных.

Двухбайтовые целые числа

Если не требуется полный диапазон типа данных Integer, можно использовать тип Short, который может хранить целые числа от -32 768 до 32 767. Тип данных SByte обладает наименьшим диапазоном среди целочисленных типов (от -128 до 127). Если имеется большое количество переменных, которые содержат небольшие целые значения, среда CLR может иногда более эффективно хранить переменные Short и SByte снизить потребление памяти. Однако операции с типами Short и SByte выполняются медленнее, чем с данными типа Integer.

Целые числа без знака

Если известно, что переменная никогда не должна содержать отрицательное число, можно использовать беззнаковые типы Byte, UShort, UInteger и ULong. Каждый из этих типов данных может содержать положительное целое число, в два раза превосходящее его соответствующий знаковый тип (SByte, Short Integer и Long). С точки зрения производительности, каждый тип без знака является таким же эффективным, как и соответствующий ему тип со знаком. В частности, UInteger и Integer являются наиболее эффективными из всех типов простейших числовых данных.

Нецелые числовые типы

К нецелочисленным типам данных относятся числа с целой и дробной частями.

Нецелыми числовыми типами данных являются Decimal (128-разрядные с фиксированной запятой), Тип данных Single (Visual Basic) (32-разрядные с плавающей запятой) и Тип данных Double (Visual Basic) (64-разрядные с плавающей запятой). Все они относятся к типам со знаком. Если переменная может содержать дробную часть, следует использовать один из этих типов.

Decimal не является типом данных с плавающей запятой. Числа типа Decimal имеют двоичное целое значение и масштабный коэффициент целых чисел, который определяет, какая часть значения является десятичной дробью.

Числа с плавающей запятой (Single и Double) имеют большие диапазоны, чем числа Decimal, но при их использовании могут возникать ошибки округления. Типы с плавающей запятой поддерживают меньшее количество значащих цифр после запятой, чем Decimal, но могут представлять значения большей величины.

Нецелочисленные значения могут быть выражены как mmmEeee, где mmm является мантиссой (значащими цифрами), а eee — экспонентой (степенью 10). Максимальные положительные значения для нецелочисленных типов равны 7,9228162514264337593543950335E+28 для типа Decimal, 3,4028235E+38 для типа Single, и 1,79769313486231570E+308 для типа Double.

Производительность

Double является наиболее эффективным из дробных типов данных, поскольку процессоры на современных платформах выполняют операции с числами с плавающей запятой с двойной точностью. Однако операции с типом Double имеют меньшую производительность по сравнению с целочисленными типами, такими как Integer.

Малые величины

Для чисел с наименьшей возможной величиной (стремящейся к 0), переменные Double могут содержать число – 4,94065645841246544E - 324 для отрицательных значений - и 4,94065645841246544E 324 для положительных значений.

Малые дробные числа

Если не требуется полный диапазон типа данных Double, можно использовать тип Single, который может хранить числа с плавающей запятой от -3,4028235E+38 до 3,4028235E+38. Минимальные значения переменных типа Single равняются -1,401298E-45 для отрицательных чисел и 1,401298E-45 для положительных чисел. Если имеется большое количество переменных, которые содержат малые числа с плавающей запятой, среда CLR может иногда более эффективно хранить переменные Single и снизить потребление памяти.

См. также

Задачи

Устранение неполадок, связанных с типами данных (Visual Basic)

Практическое руководство. Хранение целых чисел в переменной (Visual Basic)

Практическое руководство. Хранение дробей в переменной (Visual Basic)

Практическое руководство. Хранение наибольшего возможного значения в переменной (Visual Basic)

Практическое руководство. Оптимизация хранения положительных целых чисел с беззнаковыми типами (Visual Basic)

Практическое руководство. Вызов функции Windows, принимающей значение беззнакового типа (Visual Basic)

Практическое руководство. Хранение наиболее значимых цифр в переменной (Visual Basic)

Практическое руководство. Хранение денежных значений в переменной (Visual Basic)

Основные понятия

Символьные типы данных (Visual Basic)

Прочие типы данных (Visual Basic)

Другие ресурсы

Простые типы данных (Visual Basic)