System::BitConverter Klasse

BitConverter class

Enthält Methoden, die Konvertierungen einer Byte‑Sequenz in einen 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‑Integer‑Wert 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‑Integer‑Wert in ein Byte‑Array.
static GetBytes(int)Konvertiert den angegebenen 32‑Bit‑Integer‑Wert in ein Byte‑Array.
static GetBytes(int64_t)Konvertiert den angegebenen 64‑Bit‑Integer‑Wert in ein Byte‑Array.
static GetBytes(uint16_t)Konvertiert den angegebenen vorzeichenlosen 16‑Bit‑Integer‑Wert in ein Byte‑Array.
static GetBytes(uint32_t)Konvertiert den angegebenen vorzeichenlosen 32‑Bit‑Integer‑Wert in ein Byte‑Array.
static GetBytes(uint64_t)Konvertiert den angegebenen vorzeichenlosen 64‑Bit‑Integer‑Wert 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 übergebenen 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‑Genauigkeits‑Fließkommawert.
static ToDouble(const System::Details::ArrayView<uint8_t>&, int)Konvertiert acht Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen double‑Genauigkeits‑Fließkommawert.
static ToInt16(const System::ArrayPtr<uint8_t>&, int)Konvertiert zwei Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen 16‑Bit‑Ganzzahlwert.
static ToInt16(const System::Details::ArrayView<uint8_t>&, int)Konvertiert zwei Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen 16‑Bit‑Ganzzahlwert.
static ToInt32(const System::ArrayPtr<uint8_t>&, int)Konvertiert vier Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen 32‑Bit‑Ganzzahlwert.
static ToInt32(const System::Details::ArrayView<uint8_t>&, int)Konvertiert vier Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen 32‑Bit‑Ganzzahlwert.
static ToInt64(const System::ArrayPtr<uint8_t>&, int)Konvertiert acht Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen 64‑Bit‑Ganzzahlwert.
static ToInt64(const System::Details::ArrayView<uint8_t>&, int)Konvertiert acht Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen 64‑Bit‑Ganzzahlwert.
static ToSingle(const System::ArrayPtr<uint8_t>&, int)Konvertiert vier Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen single‑Genauigkeits‑Fließkommawert.
static ToSingle(const System::Details::ArrayView<uint8_t>&, int)Konvertiert vier Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen single‑Genauigkeits‑Fließkommawert.
static ToString(const ArrayPtr<uint8_t>&, bool, const String&)Konvertiert alle Werte des angegebenen Byte‑Arrays in ihre hexadezimale String‑Darstellung. 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 ihre hexadezimale String‑Darstellung, beginnend am angegebenen Index.
static ToString(const ArrayPtr<uint8_t>&, int, int)Konvertiert einen Wertebereich des angegebenen Byte‑Arrays in seine hexadezimale String‑Darstellung.
static ToUInt16(const System::ArrayPtr<uint8_t>&, int)Konvertiert zwei Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen vorzeichenlosen 16‑Bit‑Ganzzahlwert.
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‑Ganzzahlwert.
static ToUInt32(const System::ArrayPtr<uint8_t>&, int)Konvertiert vier Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen vorzeichenlosen 32‑Bit‑Ganzzahlwert.
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‑Ganzzahlwert.
static ToUInt64(const System::ArrayPtr<uint8_t>&, int)Konvertiert acht Bytes aus dem angegebenen Array, beginnend am angegebenen Index, in einen vorzeichenlosen 64‑Bit‑Ganzzahlwert.
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‑Ganzzahlwert.

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

  // Wert und seine Bytes ausgeben.
  Print(anInt);
  Print(aDouble);

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

Siehe auch