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

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

Таблица, показывающая параллельное сравнение типов данных Visual Basic, см. в разделе "Типы данных".

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

Целочисленные типы данных — это те , которые представляют только числа без дробных частей.

Подписанные целочисленные типы данных : SByte Data Type (8-bit), Short Data Type (16-bit), Integer Data Type (32-bit) и Long Data Type (64-bit). Если переменная всегда хранит целые числа, а не дробные числа, объявите его как один из этих типов.

Неподписанные целочисленные типы : байтовый тип данных (8-разрядная версия), тип данных UShort (16-разрядная версия), тип данных UInteger (32-разрядная версия) и тип данных ULong (64-разрядная версия). Если переменная содержит двоичные данные или данные неизвестного характера, объявите его как один из этих типов.

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

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

Большие целые числа

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

Если вам нужны даже большие значения, можно использовать десятичный тип данных. Номера можно хранить от -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 иногда ShortSByte может хранить ваши и переменные более эффективно и сохранять потребление памяти. Однако операции с Short и SByte несколько медленнее, чем с Integer.

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

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

Неинтегральные числовые типы

Неинтегральные типы данных — это те , которые представляют числа с целыми и дробными частями.

Неинтегральные числовые типы данных : Decimal (128-разрядная фиксированная точка), один тип данных (32-разрядная плавающая точка) и двойный тип данных (64-разрядная плавающая точка). Они являются всеми подписанными типами. Если переменная может содержать дробь, объявите ее как один из этих типов.

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

Переменные можно использовать Decimal для значений денег. Преимуществом является точность значений. Тип Double данных быстрее и требует меньше памяти, но при этом возникают ошибки округления. Тип Decimal данных сохраняет полную точность до 28 десятичных разрядов.

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

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

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

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

Небольшие величины

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

Небольшие дробные числа

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

См. также