Тип данных Byte — Visual Basic
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 3 мин
Содержит 8-разрядные целые числа без знака (1 байт), которые варьируются от 0 до 255.
Byte
Используйте тип данных для хранения двоичных данных.
Значение по умолчанию для типа Byte
— 0.
Можно объявить и инициализировать Byte
переменную, назначив ему десятичный литерал, шестнадцатеричный литерал, восьмеричный литерал или (начиная с Visual Basic 2017) двоичный литерал. Если целочисленный литерал находится за пределами диапазона ( Byte
т. е. если оно меньше Byte.MinValue или больше Byte.MaxValue), возникает ошибка компиляции.
В следующем примере целые числа, равные 201, которые представлены как десятичные, шестнадцатеричные и двоичные литералы неявно преобразуются из целого числа в byte
значения.
Dim byteValue1 As Byte = 201 Console.WriteLine(byteValue1) Dim byteValue2 As Byte = &H00C9 Console.WriteLine(byteValue2) Dim byteValue3 As Byte = &B1100_1001 Console.WriteLine(byteValue3) ' The example displays the following output: ' 201 ' 201 ' 201
Примечание
Вы используете префикс &h
или &H
обозначает шестнадцатеричный литерал, префикс или &B
обозначающий двоичный литерал, а также префикс &b
&o
или &O
обозначающий восьмеричный литерал. У десятичных литералов префиксов нет.
Начиная с Visual Basic 2017 г., можно также использовать символ подчеркивания, _
как разделитель цифр для повышения удобочитаемости, как показано в следующем примере.
Dim byteValue3 As Byte = &B1100_1001 Console.WriteLine(byteValue3) ' The example displays the following output: ' 201
Начиная с Visual Basic 15.5, можно также использовать символ подчеркивания (
) в качестве ведущего разделителя между префиксом и шестнадцатеричными, двоичными или восьмеричных цифрами. Пример:
Dim number As Byte = &H_6A
Чтобы использовать символ подчеркивания в качестве ведущего разделителя, необходимо добавить следующий элемент в файл проекта Visual Basic (*.vbproj):
<PropertyGroup> <LangVersion>15.5</LangVersion> </PropertyGroup>
Дополнительные сведения см. в разделе «Выбор версии языка Visual Basic».
Советы по программированию
Отрицательные числа. Поскольку
Byte
это неподписанный тип, он не может представлять отрицательное число. При использовании унарного оператора минус (-
) для выражения, результатом которого является типByte
, Visual Basic преобразует выражениеShort
в первую очередь.Преобразование формата. Когда Visual Basic считывает или записывает файлы или вызывает библиотеки DLL, методы и свойства, он может автоматически преобразоваться между форматами данных. Двоичные данные, хранящиеся в
Byte
переменных и массивах, сохраняются во время таких преобразований формата. Не следует использовать переменнуюString
для двоичных данных, так как ее содержимое может быть повреждено во время преобразования между форматами ANSI и Юникодом.Расширение. Тип
Byte
данных расширяется доShort
,UShort
,Integer
,UInteger
,Decimal
Single
Long
ULong
или .Double
Это означает, что вы можете преобразоватьByte
Символы типов.
Byte
не имеет символа литерального типа или символа типа идентификатора.Тип Framework. В .NET Framework данный тип соответствует структуре System.Byte.
Пример
В следующем примере b
это переменная Byte
. В инструкциях демонстрируется диапазон переменной и применение к ней операторов битового смещения.
' The valid range of a Byte variable is 0 through 255. Dim b As Byte b = 30 ' The following statement causes an error because the value is too large. 'b = 256 ' The following statement causes an error because the value is negative. 'b = -5 ' The following statement sets b to 6. b = CByte(5.7) ' The following statements apply bit-shift operators to b. ' The initial value of b is 6. Console.WriteLine(b) ' Bit shift to the right divides the number in half. In this ' example, binary 110 becomes 11. b >>= 1 ' The following statement displays 3. Console.WriteLine(b) ' Now shift back to the original position, and then one more bit ' to the left. Each shift to the left doubles the value. In this ' example, binary 11 becomes 1100. b <<= 2 ' The following statement displays 12. Console.WriteLine(b)
См. также раздел
- System.Byte
- Типы данных
- Type Conversion Functions
- Сводка по преобразованию
- Эффективное использование типов данных
C++ — Типы данных
При написании программы на любом языке вам нужно использовать различные переменные для хранения различной информации. Переменные — это не что иное, как зарезервированные ячейки памяти для хранения значений. Это означает, что при создании переменной вы сохраняете некоторое пространство в памяти.
Вы можете хранить информацию различных типов данных, таких как символ, широкий символ, целое число, плавающая точка, двойная плавающая точка, логическое значение и т. Д. На основе типа данных переменной операционная система выделяет память и решает, что можно сохранить в зарезервированная память.
Примитивные встроенные типы
C ++ предлагает программисту богатый набор встроенных, а также пользовательских типов данных. В следующих таблицах перечислены семь основных типов данных C ++:
Type | |
---|---|
Boolean | bool |
Character | char |
Integer | int |
Floating point | float |
Double floating point | double |
Valueless | void |
Wide character | wchar_t |
Некоторые из основных типов могут быть изменены с использованием одного или нескольких модификаторов этого типа:
- signed
- unsigned
- short
- long
В следующей таблице показан тип переменной, объем памяти, который требуется для хранения значения в памяти, и то, что является максимальным и минимальным значением, которое может быть сохранено в таких переменных.
Type | Typical Bit Width | Typical Range |
---|---|---|
char | 1byte | -127 to 127 or 0 to 255 |
unsigned char | 1byte | 0 to 255 |
signed char | 1byte | -127 to 127 |
int | 4bytes | -2147483648 to 2147483647 |
unsigned int | 4bytes | 0 to 4294967295 |
signed int | 4bytes | -2147483648 to 2147483647 |
short int | 2bytes | -32768 to 32767 |
unsigned short int | Range | 0 to 65,535 |
signed short int | Range | -32768 to 32767 |
long int | 4bytes | -2,147,483,648 to 2,147,483,647 |
signed long int | 4bytes | same as long int |
unsigned long int | 4bytes | 0 to 4,294,967,295 |
float | 4bytes | +/- 3. 4e +/- 38 (~7 digits) |
double | 8bytes | +/- 1.7e +/- 308 (~15 digits) |
long double | 8bytes | +/- 1.7e +/- 308 (~15 digits) |
wchar_t | 2 or 4 bytes | 1 wide character |
Размер переменных может отличаться от размера, указанного в приведенной выше таблице, в зависимости от компилятора и компьютера, который вы используете. Ниже приведен пример, который даст правильный размер различных типов данных на вашем компьютере.
#include <iostream>
using namespace std;
int main() {
cout << "Size of char : " << sizeof(char) << endl;
cout << "Size of int : " << sizeof(int) << endl;
cout << "Size of short int : " << sizeof(short int) << endl;
cout << "Size of long int : " << sizeof(long int) << endl;
cout << "Size of float : " << sizeof(float) << endl;
cout << "Size of double : " << sizeof(double) << endl;
cout << "Size of wchar_t : " << sizeof(wchar_t) << endl;
return 0;
}
В этом примере используется endl , который вводит символ новой строки после каждой строки, а оператор << используется для передачи нескольких значений на экран.
Когда приведенный выше код компилируется и выполняется, он производит следующий результат, который может варьироваться от машины к машине:
Size of char : 1
Size of int : 4
Size of short int : 2
Size of long int : 4
Size of float : 4
Size of double : 8
Size of wchar_t : 4
Декларации typedef
Вы можете создать новое имя для существующего типа с помощью typedef
. Ниже приведен простой синтаксис для определения нового типа с использованием typedef:
typedef type newname;
Например, следующее говорит компилятору, что ногами является другое имя для int:
typedef int feet;
Теперь следующая декларация совершенно легальна и создает целочисленную переменную, называемую расстоянием:
feet distance;
Перечисленные типы
Перечислимый тип объявляет необязательное имя типа и набор из нуля или более идентификаторов, которые могут использоваться как значения типа. Каждый перечислитель является константой, тип которой является перечислением. Для создания перечисления требуется использование ключевого слова enum . Общий вид типа перечисления:
enum enum-name { list of names } var-list;
Здесь enum-name — это имя типа перечисления. Список имен разделяется запятой. Например, следующий код определяет перечисление цветов, называемых цветами, и переменной c цвета типа. Наконец, c присваивается значение «blue».
enum color { red, green, blue } c;
c = blue;
По умолчанию значение первого имени равно 0, второе имя имеет значение 1, а третье — значение 2 и т. Д. Но вы можете указать имя, определенное значение, добавив инициализатор. Например, в следующем перечислении зеленый будет иметь значение 5.
enum color { red, green = 5, blue };
Здесь blue будет иметь значение 6, потому что каждое имя будет больше, чем предыдущее.
С++ — Как я могу использовать 6-байтовый целочисленный тип данных в C?
спросил
Изменено 2 года, 3 месяца назад
Просмотрено 3к раз
Я хочу использовать 6-байтовый тип данных в c, но не могу найти, как это сделать. Можете ли вы научить меня, как использовать 6-байтовый целочисленный тип данных в c?
Я использую dev C++ и кодовые блоки.
Я хочу использовать C, но я также могу использовать C++. Windows 64-bit
- c++
- c
- типы
- целое число
- пользовательский тип данных
8
Есть способ получить точное количество битов для чего-то в C, так что теоретически это выполнимо, но это займет больше 48 бит в памяти.
Для этого вы можете использовать битовые поля из C, для этого вы можете:
структура your_type { uint64_t ваше_значение: 48; };
С помощью этого вы можете создать такую структуру и получить доступ к your_value, который будет иметь 48-битное представление. Под капотом он будет рассматриваться как uint64_t.
Говоря, что я настоятельно рекомендую прочитать Ansi C
или любую другую книгу по основам C, чтобы лучше узнать основы.
Имейте в виду, что создание парсеров с битовыми полями, как правило, плохая идея из-за проблем с заполнением, упаковкой и порядком байтов. Если вам нужен какой-либо протокол, обратите внимание на пакет сообщений или любую другую библиотеку протоколов.
1
Чтение стандарта C11 n1570 и стандарта C++11 n3337.
C и C++ — это
различных языков программированияСм. также этот справочный веб-сайт C и C++.
Прочтите также хорошие книги по программированию на C ( Modern C ) и хорошую книгу по программированию на C++ (и документацию вашего компилятора).
6-байтовые целые числа здесь не упоминаются.
(за исключением теоретически странных реализаций C или C++; я не могу назвать ни одной существующей в 2020 году)
Вы можете использовать битовые поля в struct
или (вместо этого) 64-битные числа std::int64_t
) в сочетании с побитовыми операциями (например, побитовые или 09 или 04 или
|
| не ~
или операции побитового сдвига <<
или >>
)Вы можете создавать процедуры сериализации, например. используйте SWIG. Остерегайтесь проблем с порядком байтов. Для простоты отладки вы можете предпочесть текстовые форматы, такие как JSON, вместо отправки двоичных пакетов.
Типичным примером 48-битных чисел являются MAC-адреса кадра Ethernet. См. пример кода, упомянутый в вики OSDEV.
5
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Обязательно, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Склад основных типов | Майкрософт учиться
Обратная связь Редактировать
Твиттер LinkedIn Фейсбук Эл. адрес
- Статья
- 2 минуты на чтение
В следующей таблице приведены сводные данные о хранилищах, связанных с каждым базовым типом.
Размеры основных типов
Тип | Хранение |
---|---|
символ , символ без знака , символ со знаком | 1 байт |
короткий , без знака короткий | 2 байта |
целое число , целое число без знака | 4 байта |
длинный , длинный без знака | 4 байта |
длинный длинный , беззнаковый длинный длинный | 8 байт |
плавающий | 4 байта |
двойной | 8 байт |
длинный двойной | 8 байт |
Типы данных C делятся на общие категории.