Класс System::BitConverter
Содержание
[
Скрывать
]BitConverter class
Содержит методы, выполняющие преобразования последовательности байтов в тип‑значение и обратно. Это статический тип без сервисов экземпляра. Вы никогда не должны создавать его экземпляры каким-либо способом.
class BitConverter
Методы
| Метод | Описание |
|---|---|
| static _IsLittleEndian() | Указывает порядок байтов (эндianness) текущей архитектуры. |
| static DoubleToInt64Bits(double) | Возвращает 64-битное целочисленное значение, двоичное представление которого равно двоичному представлению указанного значения двойной точности с плавающей запятой. |
| static GetBytes(bool) | Преобразует указанное логическое значение в массив байтов. |
| static GetBytes(char_t) | Преобразует указанное значение char_t в массив байтов. |
| static GetBytes(int16_t) | Преобразует указанное 16-битное целочисленное значение в массив байтов. |
| static GetBytes(int) | Преобразует указанное 32-битное целочисленное значение в массив байтов. |
| static GetBytes(int64_t) | Преобразует указанное 64-битное целочисленное значение в массив байтов. |
| static GetBytes(uint16_t) | Преобразует указанное беззнаковое 16-битное целочисленное значение в массив байтов. |
| static GetBytes(uint32_t) | Преобразует указанное беззнаковое 32-битное целочисленное значение в массив байтов. |
| static GetBytes(uint64_t) | Преобразует указанное беззнаковое 64-битное целочисленное значение в массив байтов. |
| static GetBytes(float) | Преобразует указанное значение одинарной точности с плавающей запятой в массив байтов. |
| static GetBytes(double) | Преобразует указанное значение двойной точности с плавающей запятой в массив байтов. |
| static Int64BitsToDouble(int64_t) | Возвращает значение двойной точности с плавающей запятой, эквивалентное заданному значению. |
| static ToBoolean(const System::ArrayPtr<uint8_t>&, int) | Преобразует один байт из указанного массива, начиная с указанного индекса, в логическое значение. |
| static ToBoolean(const System::Details::ArrayView<uint8_t>&, int) | Преобразует один байт из указанного массива, начиная с указанного индекса, в логическое значение. |
| static ToChar(const System::ArrayPtr<uint8_t>&, int) | Преобразует два байта из указанного массива, начиная с указанного индекса, в значение char_t. |
| static ToChar(const System::Details::ArrayView<uint8_t>&, int) | Преобразует два байта из указанного массива, начиная с указанного индекса, в значение char_t. |
| static ToDouble(const System::ArrayPtr<uint8_t>&, int) | Преобразует восемь байт из указанного массива, начиная с указанного индекса, в значение двойной точности с плавающей запятой. |
| static ToDouble(const System::Details::ArrayView<uint8_t>&, int) | Преобразует восемь байт из указанного массива, начиная с указанного индекса, в значение двойной точности с плавающей запятой. |
| static ToInt16(const System::ArrayPtr<uint8_t>&, int) | Преобразует два байта из указанного массива, начиная с указанного индекса, в 16‑битное целое значение. |
| static ToInt16(const System::Details::ArrayView<uint8_t>&, int) | Преобразует два байта из указанного массива, начиная с указанного индекса, в 16‑битное целое значение. |
| static ToInt32(const System::ArrayPtr<uint8_t>&, int) | Преобразует четыре байта из указанного массива, начиная с указанного индекса, в 32‑битное целое значение. |
| static ToInt32(const System::Details::ArrayView<uint8_t>&, int) | Преобразует четыре байта из указанного массива, начиная с указанного индекса, в 32‑битное целое значение. |
| static ToInt64(const System::ArrayPtr<uint8_t>&, int) | Преобразует восемь байт из указанного массива, начиная с указанного индекса, в 64‑битное целое значение. |
| static ToInt64(const System::Details::ArrayView<uint8_t>&, int) | Преобразует восемь байт из указанного массива, начиная с указанного индекса, в 64‑битное целое значение. |
| static ToSingle(const System::ArrayPtr<uint8_t>&, int) | Преобразует четыре байта из указанного массива, начиная с указанного индекса, в значение одинарной точности с плавающей запятой. |
| static ToSingle(const System::Details::ArrayView<uint8_t>&, int) | Преобразует четыре байта из указанного массива, начиная с указанного индекса, в значение одинарной точности с плавающей запятой. |
| static ToString(const ArrayPtr<uint8_t>&, bool, const String&) | Преобразует все значения указанного массива байтов в их шестнадцатеричное строковое представление. Регистры букв, используемых в шестнадцатеричной нотации, и разделитель, вставляемый между каждой парой соседних байтов, задаются соответствующими аргументами. |
| static ToString(const ArrayPtr<uint8_t>&, int) | Преобразует значения указанного массива байтов в их шестнадцатеричное строковое представление, начиная с указанного индекса. |
| static ToString(const ArrayPtr<uint8_t>&, int, int) | Преобразует диапазон значений указанного массива байтов в их шестнадцатеричное строковое представление. |
| static ToUInt16(const System::ArrayPtr<uint8_t>&, int) | Преобразует два байта из указанного массива, начиная с указанного индекса, в беззнаковое 16‑битное целое значение. |
| static ToUInt16(const System::Details::ArrayView<uint8_t>&, int) | Преобразует два байта из указанного массива, начиная с указанного индекса, в беззнаковое 16‑битное целое значение. |
| static ToUInt32(const System::ArrayPtr<uint8_t>&, int) | Преобразует четыре байта из указанного массива, начиная с указанного индекса, в беззнаковое 32‑битное целое значение. |
| static ToUInt32(const System::Details::ArrayView<uint8_t>&, int) | Преобразует четыре байта из указанного массива, начиная с указанного индекса, в беззнаковое 32‑битное целое значение. |
| static ToUInt64(const System::ArrayPtr<uint8_t>&, int) | Преобразует восемь байт из указанного массива, начиная с указанного индекса, в беззнаковое 64‑битное целое значение. |
| static ToUInt64(const System::Details::ArrayView<uint8_t>&, int) | Преобразует восемь байт из указанного массива, начиная с указанного индекса, в беззнаковое 64‑битное целое значение. |
Поля
| Поле | Описание |
|---|---|
| static IsLittleEndian | Указывает порядок байтов текущей архитектуры. true, если архитектура использует порядок little endian, false в противном случае. |
Примечания
#include <system/bit_converter.h>
#include <system/smart_ptr.h>
using namespace System;
template <typename T>
void Print(T arg)
{
std::cout << arg << ' ';
for (const auto byte: BitConverter::GetBytes(arg))
{
std::cout << std::hex << static_cast<int>(byte);
}
std::cout << std::endl;
}
int main()
{
// Создайте значения для печати.
int anInt = 1234567890;
double aDouble = 0.123456789;
// Выведите значение и его байты.
Print(anInt);
Print(aDouble);
return 0;
}
/*
This code example produces the following output:
1234567890 d229649
0.123457 5f633937dd9abf3f
*/
См. также
- Namespace System
- Library Aspose.Font for C++