classe System::BitConverter

BitConverter class

Contient des méthodes qui effectuent des conversions d’une séquence d’octets vers un type valeur et vice-versa. Il s’agit d’un type statique sans services d’instance. Vous ne devez jamais créer d’instances de celui-ci par quelque moyen que ce soit.

class BitConverter

Méthodes

MéthodeDescription
static _IsLittleEndian()Indique l’endianité de l’architecture actuelle.
static DoubleToInt64Bits(double)Renvoie une valeur entière de 64 bits dont la représentation binaire est égale à la représentation binaire de la valeur en virgule flottante double précision spécifiée.
static GetBytes(bool)Convertit la valeur booléenne spécifiée en un tableau d’octets.
static GetBytes(char_t)Convertit la valeur char_t spécifiée en un tableau d’octets.
static GetBytes(int16_t)Convertit la valeur entière de 16 bits spécifiée en un tableau d’octets.
static GetBytes(int)Convertit la valeur entière de 32 bits spécifiée en un tableau d’octets.
static GetBytes(int64_t)Convertit la valeur entière de 64 bits spécifiée en un tableau d’octets.
static GetBytes(uint16_t)Convertit la valeur entière non signée de 16 bits spécifiée en un tableau d’octets.
static GetBytes(uint32_t)Convertit la valeur entière non signée de 32 bits spécifiée en un tableau d’octets.
static GetBytes(uint64_t)Convertit la valeur entière non signée de 64 bits spécifiée en un tableau d’octets.
static GetBytes(float)Convertit la valeur en virgule flottante simple précision spécifiée en un tableau d’octets.
static GetBytes(double)Convertit la valeur en virgule flottante double précision spécifiée en un tableau d’octets.
static Int64BitsToDouble(int64_t)Renvoie une valeur en virgule flottante double précision dont la valeur est équivalente à la valeur.
static ToBoolean(const System::ArrayPtr<uint8_t>&, int)Convertit un octet du tableau spécifié à partir de l’index spécifié en valeur booléenne.
static ToBoolean(const System::Details::ArrayView<uint8_t>&, int)Convertit un octet du tableau spécifié à partir de l’index spécifié en valeur booléenne.
static ToChar(const System::ArrayPtr<uint8_t>&, int)Convertit deux octets du tableau spécifié à partir de l’index spécifié en valeur char_t.
static ToChar(const System::Details::ArrayView<uint8_t>&, int)Convertit deux octets du tableau spécifié à partir de l’index spécifié en valeur char_t.
static ToDouble(const System::ArrayPtr<uint8_t>&, int)Convertit huit octets du tableau spécifié à partir de l’index spécifié en valeur en virgule flottante double précision.
static ToDouble(const System::Details::ArrayView<uint8_t>&, int)Convertit huit octets du tableau spécifié à partir de l’index spécifié en valeur en virgule flottante double précision.
static ToInt16(const System::ArrayPtr<uint8_t>&, int)Convertit deux octets du tableau spécifié à partir de l’index spécifié en valeur entière de 16 bits.
static ToInt16(const System::Details::ArrayView<uint8_t>&, int)Convertit deux octets du tableau spécifié à partir de l’index spécifié en valeur entière de 16 bits.
static ToInt32(const System::ArrayPtr<uint8_t>&, int)Convertit quatre octets du tableau spécifié à partir de l’index spécifié en valeur entière de 32 bits.
static ToInt32(const System::Details::ArrayView<uint8_t>&, int)Convertit quatre octets du tableau spécifié à partir de l’index spécifié en valeur entière de 32 bits.
static ToInt64(const System::ArrayPtr<uint8_t>&, int)Convertit huit octets du tableau spécifié à partir de l’index spécifié en valeur entière de 64 bits.
static ToInt64(const System::Details::ArrayView<uint8_t>&, int)Convertit huit octets du tableau spécifié à partir de l’index spécifié en valeur entière de 64 bits.
static ToSingle(const System::ArrayPtr<uint8_t>&, int)Convertit quatre octets du tableau spécifié à partir de l’index spécifié en valeur en virgule flottante simple précision.
static ToSingle(const System::Details::ArrayView<uint8_t>&, int)Convertit quatre octets du tableau spécifié à partir de l’index spécifié en valeur en virgule flottante simple précision.
static ToString(const ArrayPtr<uint8_t>&, bool, const String&)Convertit toutes les valeurs du tableau d’octets spécifié en leur représentation sous forme de chaîne hexadécimale. La casse des lettres à utiliser dans la notation hexadécimale et le séparateur inséré entre chaque paire d’octets voisins sont spécifiés via les arguments correspondants.
static ToString(const ArrayPtr<uint8_t>&, int)Convertit les valeurs du tableau d’octets spécifié en leur représentation sous forme de chaîne hexadécimale à partir de l’index spécifié.
static ToString(const ArrayPtr<uint8_t>&, int, int)Convertit une plage de valeurs du tableau d’octets spécifié en leur représentation sous forme de chaîne hexadécimale.
static ToUInt16(const System::ArrayPtr<uint8_t>&, int)Convertit deux octets du tableau spécifié à partir de l’index spécifié en valeur entière non signée de 16 bits.
static ToUInt16(const System::Details::ArrayView<uint8_t>&, int)Convertit deux octets du tableau spécifié à partir de l’index spécifié en valeur entière non signée de 16 bits.
static ToUInt32(const System::ArrayPtr<uint8_t>&, int)Convertit quatre octets du tableau spécifié à partir de l’index spécifié en valeur entière non signée de 32 bits.
static ToUInt32(const System::Details::ArrayView<uint8_t>&, int)Convertit quatre octets du tableau spécifié à partir de l’index spécifié en valeur entière non signée de 32 bits.
static ToUInt64(const System::ArrayPtr<uint8_t>&, int)Convertit huit octets du tableau spécifié à partir de l’index indiqué en une valeur entière non signée de 64 bits.
static ToUInt64(const System::Details::ArrayView<uint8_t>&, int)Convertit huit octets du tableau spécifié à partir de l’index indiqué en une valeur entière non signée de 64 bits.

Champs

ChampDescription
static IsLittleEndianIndique le type d’endianité de l’architecture actuelle. true si l’architecture est little endian, false sinon.

Remarques

#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()
{
  // Créer des valeurs à imprimer.
  int anInt = 1234567890;
  double aDouble = 0.123456789;

  // Imprimer la valeur et ses octets.
  Print(anInt);
  Print(aDouble);

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

Voir aussi