System::BitConverter Klasse

BitConverter class

Enthält Methoden, die Konvertierungen einer Sequenz von Bytes zu einem Werttyp und umgekehrt durchführen. Dies ist ein statischer Typ ohne Instanzdienste. Sie sollten niemals Instanzen davon auf irgendeine Weise erstellen.

class BitConverter

Methoden

MethodeBeschreibung
static _IsLittleEndian()Gibt die Endianness der aktuellen Architektur an.
static DoubleToInt64Bits(double)Gibt einen 64‑Bit‑Ganzzahlwert zurück, dessen Binärdarstellung der Binärdarstellung des angegebenen double‑Precision‑Gleitkommawerts entspricht.
static GetBytes(bool)Konvertiert den angegebenen booleschen Wert in ein Byte‑Array.
static GetBytes(char_t)Konvertiert den angegebenen char_t‑Wert in ein Byte‑Array.
static GetBytes(int16_t)Konvertiert den angegebenen 16‑Bit‑Ganzzahlwert in ein Byte‑Array.
static GetBytes(int)Konvertiert den angegebenen 32‑Bit‑Ganzzahlwert in ein Byte‑Array.
static GetBytes(int64_t)Konvertiert den angegebenen 64‑Bit‑Ganzzahlwert in ein Byte‑Array.
static GetBytes(uint16_t)Konvertiert den angegebenen vorzeichenlosen 16‑Bit‑Ganzzahlwert in ein Byte‑Array.
static GetBytes(uint32_t)Konvertiert den angegebenen vorzeichenlosen 32‑Bit‑Ganzzahlwert in ein Byte‑Array.
static GetBytes(uint64_t)Konvertiert den angegebenen vorzeichenlosen 64‑Bit‑Ganzzahlwert in ein Byte‑Array.
static GetBytes(float)Konvertiert den angegebenen single‑Precision‑Gleitkommawert in ein Byte‑Array.
static GetBytes(double)Konvertiert den angegebenen double‑Precision‑Gleitkommawert in ein Byte‑Array.
static Int64BitsToDouble(int64_t)Gibt einen double‑Precision‑Gleitkommawert zurück, dessen Wert dem Wert entspricht.
static ToBoolean(const System::ArrayPtr<uint8_t>&, int)Konvertiert ein Byte aus dem angegebenen Array, beginnend am angegebenen Index, in einen booleschen Wert.
static ToBoolean(const System::Details::ArrayView<uint8_t>&, int)Konvertiert ein Byte aus dem angegebenen Array, beginnend am angegebenen Index, in einen booleschen Wert.
static ToChar(const System::ArrayPtr<uint8_t>&, int)Konvertiert zwei Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen char_t-Wert.
static ToChar(const System::Details::ArrayView<uint8_t>&, int)Konvertiert zwei Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen char_t-Wert.
static ToDouble(const System::ArrayPtr<uint8_t>&, int)Konvertiert acht Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen double-precision Gleitkommawert.
static ToDouble(const System::Details::ArrayView<uint8_t>&, int)Konvertiert acht Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen double-precision Gleitkommawert.
static ToInt16(const System::ArrayPtr<uint8_t>&, int)Konvertiert zwei Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen 16-bit Integerwert.
static ToInt16(const System::Details::ArrayView<uint8_t>&, int)Konvertiert zwei Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen 16-bit Integerwert.
static ToInt32(const System::ArrayPtr<uint8_t>&, int)Konvertiert vier Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen 32-bit Integerwert.
static ToInt32(const System::Details::ArrayView<uint8_t>&, int)Konvertiert vier Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen 32-bit Integerwert.
static ToInt64(const System::ArrayPtr<uint8_t>&, int)Konvertiert acht Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen 64-bit Integerwert.
static ToInt64(const System::Details::ArrayView<uint8_t>&, int)Konvertiert acht Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen 64-bit Integerwert.
static ToSingle(const System::ArrayPtr<uint8_t>&, int)Konvertiert vier Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen single-precision Gleitkommawert.
static ToSingle(const System::Details::ArrayView<uint8_t>&, int)Konvertiert vier Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen single-precision Gleitkommawert.
static ToString(const ArrayPtr<uint8_t>&, bool, const String&)Konvertiert alle Werte des angegebenen Byte-Arrays in deren hexadezimale Zeichenkettenrepräsentation. Groß-/Kleinschreibung der Buchstaben in der hexadezimalen Notation und das zwischen benachbarten Bytes eingefügte Trennzeichen werden über die entsprechenden Argumente festgelegt.
static ToString(const ArrayPtr<uint8_t>&, int)Konvertiert Werte des angegebenen Byte-Arrays in deren hexadezimale Zeichenkettenrepräsentation, beginnend am angegebenen Index.
static ToString(const ArrayPtr<uint8_t>&, int, int)Konvertiert einen Wertebereich des angegebenen Byte-Arrays in deren hexadezimale Zeichenkettenrepräsentation.
static ToUInt16(const System::ArrayPtr<uint8_t>&, int)Konvertiert zwei Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen vorzeichenlosen 16-bit Integerwert.
static ToUInt16(const System::Details::ArrayView<uint8_t>&, int)Konvertiert zwei Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen vorzeichenlosen 16-bit Integerwert.
static ToUInt32(const System::ArrayPtr<uint8_t>&, int)Konvertiert vier Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen vorzeichenlosen 32-bit Integerwert.
static ToUInt32(const System::Details::ArrayView<uint8_t>&, int)Konvertiert vier Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen vorzeichenlosen 32-bit Integerwert.
static ToUInt64(const System::ArrayPtr<uint8_t>&, int)Konvertiert acht Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen vorzeichenlosen 64-bit Integerwert.
static ToUInt64(const System::Details::ArrayView<uint8_t>&, int)Konvertiert acht Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen vorzeichenlosen 64-bit Integerwert.

Felder

FeldBeschreibung
static IsLittleEndianGibt die Endianness der aktuellen Architektur an. true, wenn die Architektur little endian ist, sonst false.

Hinweise

#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()
{
  // Erstelle Werte zum Ausgeben.
  int anInt = 1234567890;
  double aDouble = 0.123456789;

  // Gib den Wert und seine Bytes aus.
  Print(anInt);
  Print(aDouble);

  return 0;
}
/*
This code example produces the following output:
1234567890 d229649
0.123457 5f633937dd9abf3f
*/

Siehe auch