## BitConverter class


Содержит методы, выполняющие преобразования последовательности байтов в тип значения и обратно. Это статический тип без сервисов экземпляров. Вы никогда не должны создавать его экземпляры никаким способом.

```cpp
class BitConverter
```

## Методы

| Метод | Описание |
| --- | --- |
| static [_IsLittleEndian](./_islittleendian/)() | Указывает порядок байтов (эндianness) текущей архитектуры. |
| static [DoubleToInt64Bits](./doubletoint64bits/)(double) | Возвращает 64‑битное целочисленное значение, двоичное представление которого равно двоичному представлению указанного значения двойной точности с плавающей запятой. |
| static [GetBytes](./getbytes/)(bool) | Преобразует указанное логическое значение в массив байтов. |
| static [GetBytes](./getbytes/)(char_t) | Преобразует указанное значение char_t в массив байтов. |
| static [GetBytes](./getbytes/)(int16_t) | Преобразует указанное 16‑битное целочисленное значение в массив байтов. |
| static [GetBytes](./getbytes/)(int) | Преобразует указанное 32‑битное целочисленное значение в массив байтов. |
| static [GetBytes](./getbytes/)(int64_t) | Преобразует указанное 64‑битное целочисленное значение в массив байтов. |
| static [GetBytes](./getbytes/)(uint16_t) | Преобразует указанное беззнаковое 16‑битное целочисленное значение в массив байтов. |
| static [GetBytes](./getbytes/)(uint32_t) | Преобразует указанное беззнаковое 32‑битное целочисленное значение в массив байтов. |
| static [GetBytes](./getbytes/)(uint64_t) | Преобразует указанное беззнаковое 64‑битное целочисленное значение в массив байтов. |
| static [GetBytes](./getbytes/)(float) | Преобразует указанное значение одинарной точности с плавающей запятой в массив байтов. |
| static [GetBytes](./getbytes/)(double) | Преобразует указанное значение двойной точности с плавающей запятой в массив байтов. |
| static [Int64BitsToDouble](./int64bitstodouble/)(int64_t) | Возвращает значение двойной точности с плавающей запятой, эквивалентное заданному значению. |
| static [ToBoolean](./toboolean/)(const System::ArrayPtr\<uint8_t\>\&, int) | Преобразует один байт из указанного массива, начиная с указанного индекса, в логическое значение. |
| static [ToBoolean](./toboolean/)(const System::Details::ArrayView\<uint8_t\>\&, int) | Преобразует один байт из указанного массива, начиная с указанного индекса, в логическое значение. |
| static [ToChar](./tochar/)(const System::ArrayPtr\<uint8_t\>\&, int) | Преобразует два байта из указанного массива, начиная с указанного индекса, в значение char_t. |
| static [ToChar](./tochar/)(const System::Details::ArrayView\<uint8_t\>\&, int) | Преобразует два байта из указанного массива, начиная с указанного индекса, в значение char_t. |
| static [ToDouble](./todouble/)(const System::ArrayPtr\<uint8_t\>\&, int) | Преобразует восемь байт из указанного массива, начиная с указанного индекса, в значение двойной точности плавающей запятой. |
| static [ToDouble](./todouble/)(const System::Details::ArrayView\<uint8_t\>\&, int) | Преобразует восемь байт из указанного массива, начиная с указанного индекса, в значение двойной точности плавающей запятой. |
| static [ToInt16](./toint16/)(const System::ArrayPtr\<uint8_t\>\&, int) | Преобразует два байта из указанного массива, начиная с указанного индекса, в 16‑битное целочисленное значение. |
| static [ToInt16](./toint16/)(const System::Details::ArrayView\<uint8_t\>\&, int) | Преобразует два байта из указанного массива, начиная с указанного индекса, в 16‑битное целочисленное значение. |
| static [ToInt32](./toint32/)(const System::ArrayPtr\<uint8_t\>\&, int) | Преобразует четыре байта из указанного массива, начиная с указанного индекса, в 32‑битное целочисленное значение. |
| static [ToInt32](./toint32/)(const System::Details::ArrayView\<uint8_t\>\&, int) | Преобразует четыре байта из указанного массива, начиная с указанного индекса, в 32‑битное целочисленное значение. |
| static [ToInt64](./toint64/)(const System::ArrayPtr\<uint8_t\>\&, int) | Преобразует восемь байт из указанного массива, начиная с указанного индекса, в 64‑битное целочисленное значение. |
| static [ToInt64](./toint64/)(const System::Details::ArrayView\<uint8_t\>\&, int) | Преобразует восемь байт из указанного массива, начиная с указанного индекса, в 64‑битное целочисленное значение. |
| static [ToSingle](./tosingle/)(const System::ArrayPtr\<uint8_t\>\&, int) | Преобразует четыре байта из указанного массива, начиная с указанного индекса, в значение одинарной точности плавающей запятой. |
| static [ToSingle](./tosingle/)(const System::Details::ArrayView\<uint8_t\>\&, int) | Преобразует четыре байта из указанного массива, начиная с указанного индекса, в значение одинарной точности плавающей запятой. |
| static [ToString](./tostring/)(const ArrayPtr\<uint8_t\>\&, bool, const String\&) | Преобразует все значения указанного массива байтов в их шестнадцатеричное строковое представление. Регистр букв в шестнадцатеричной нотации и разделитель, вставляемый между каждой парой соседних байтов, задаются соответствующими аргументами. |
| static [ToString](./tostring/)(const ArrayPtr\<uint8_t\>\&, int) | Преобразует значения указанного массива байтов в их шестнадцатеричное строковое представление, начиная с указанного индекса. |
| static [ToString](./tostring/)(const ArrayPtr\<uint8_t\>\&, int, int) | Преобразует диапазон значений указанного массива байтов в их шестнадцатеричное строковое представление. |
| static [ToUInt16](./touint16/)(const System::ArrayPtr\<uint8_t\>\&, int) | Преобразует два байта из указанного массива, начиная с указанного индекса, в беззнаковое 16‑битное целочисленное значение. |
| static [ToUInt16](./touint16/)(const System::Details::ArrayView\<uint8_t\>\&, int) | Преобразует два байта из указанного массива, начиная с указанного индекса, в беззнаковое 16‑битное целочисленное значение. |
| static [ToUInt32](./touint32/)(const System::ArrayPtr\<uint8_t\>\&, int) | Преобразует четыре байта из указанного массива, начиная с указанного индекса, в беззнаковое 32‑битное целочисленное значение. |
| static [ToUInt32](./touint32/)(const System::Details::ArrayView\<uint8_t\>\&, int) | Преобразует четыре байта из указанного массива, начиная с указанного индекса, в беззнаковое 32‑битное целочисленное значение. |
| static [ToUInt64](./touint64/)(const System::ArrayPtr\<uint8_t\>\&, int) | Преобразует восемь байт из указанного массива, начиная с указанного индекса, в беззнаковое 64‑битное целочисленное значение. |
| static [ToUInt64](./touint64/)(const System::Details::ArrayView\<uint8_t\>\&, int) | Преобразует восемь байт из указанного массива, начиная с указанного индекса, в беззнаковое 64‑битное целочисленное значение. |
## Поля

| Поле | Описание |
| --- | --- |
| static [IsLittleEndian](./islittleendian/) | Указывает порядок байтов текущей архитектуры. true, если архитектура использует порядок little endian, иначе false. |
## Примечания



```cpp
#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.PDF for C++](../../)
