System::BitConverter-klass

BitConverter class

Innehåller metoder som utför konverteringar av en sekvens av byte till en värdetyp och vice‑versa. Detta är en statisk typ utan instans‑tjänster. Du bör aldrig skapa instanser av den på något sätt.

class BitConverter

Metoder

MetodBeskrivning
static _IsLittleEndian()Anger endian-ordningen för den aktuella arkitekturen.
static DoubleToInt64Bits(double)Returnerar ett 64-bitars heltalsvärde vars binära representation är lika med den binära representationen av det angivna dubbelprecisions-flyttalvärdet.
static GetBytes(bool)Konverterar det angivna booleska värdet till en bytearray.
static GetBytes(char_t)Konverterar det angivna char_t-värdet till en bytearray.
static GetBytes(int16_t)Konverterar det angivna 16-bitars heltalsvärdet till en bytearray.
static GetBytes(int)Konverterar det angivna 32-bitars heltalsvärdet till en bytearray.
static GetBytes(int64_t)Konverterar det angivna 64-bitars heltalsvärdet till en bytearray.
static GetBytes(uint16_t)Konverterar det angivna osignerade 16-bitars heltalsvärdet till en bytearray.
static GetBytes(uint32_t)Konverterar det angivna osignerade 32-bitars heltalsvärdet till en bytearray.
static GetBytes(uint64_t)Konverterar det angivna osignerade 64-bitars heltalsvärdet till en bytearray.
static GetBytes(float)Konverterar det angivna enkelprecisions-flyttalvärdet till en bytearray.
static GetBytes(double)Konverterar det angivna dubbelprecisions-flyttalvärdet till en bytearray.
static Int64BitsToDouble(int64_t)Returnerar ett dubbelprecisions-flyttal vars värde är ekvivalent med värdet.
static ToBoolean(const System::ArrayPtr<uint8_t>&, int)Konverterar en byte från den angivna arrayen med start vid det angivna indexet till ett booleskt värde.
static ToBoolean(const System::Details::ArrayView<uint8_t>&, int)Konverterar en byte från den angivna arrayen med start vid det angivna indexet till ett booleskt värde.
static ToChar(const System::ArrayPtr<uint8_t>&, int)Konverterar två byte från den angivna arrayen med start vid det angivna indexet till ett char_t‑värde.
static ToChar(const System::Details::ArrayView<uint8_t>&, int)Konverterar två byte från den angivna arrayen med start vid det angivna indexet till ett char_t‑värde.
static ToDouble(const System::ArrayPtr<uint8_t>&, int)Konverterar åtta byte från den angivna arrayen med start vid det angivna indexet till ett dubbelprecisionsflyttal.
static ToDouble(const System::Details::ArrayView<uint8_t>&, int)Konverterar åtta byte från den angivna arrayen med start vid det angivna indexet till ett dubbelprecisionsflyttal.
static ToInt16(const System::ArrayPtr<uint8_t>&, int)Konverterar två byte från den angivna arrayen med start vid det angivna indexet till ett 16‑bitars heltalsvärde.
static ToInt16(const System::Details::ArrayView<uint8_t>&, int)Konverterar två byte från den angivna arrayen med start vid det angivna indexet till ett 16‑bitars heltalsvärde.
static ToInt32(const System::ArrayPtr<uint8_t>&, int)Konverterar fyra byte från den angivna arrayen med start vid det angivna indexet till ett 32‑bitars heltalsvärde.
static ToInt32(const System::Details::ArrayView<uint8_t>&, int)Konverterar fyra byte från den angivna arrayen med start vid det angivna indexet till ett 32‑bitars heltalsvärde.
static ToInt64(const System::ArrayPtr<uint8_t>&, int)Konverterar åtta byte från den angivna arrayen med start vid det angivna indexet till ett 64‑bitars heltalsvärde.
static ToInt64(const System::Details::ArrayView<uint8_t>&, int)Konverterar åtta byte från den angivna arrayen med start vid det angivna indexet till ett 64‑bitars heltalsvärde.
static ToSingle(const System::ArrayPtr<uint8_t>&, int)Konverterar fyra byte från den angivna arrayen med start vid det angivna indexet till ett enkelprecisionsflyttal.
static ToSingle(const System::Details::ArrayView<uint8_t>&, int)Konverterar fyra byte från den angivna arrayen med start vid det angivna indexet till ett enkelprecisionsflyttal.
static ToString(const ArrayPtr<uint8_t>&, bool, const String&)Konverterar alla värden i den angivna byte‑arrayen till deras hexadecimala strängrepresentation. Versal‑/gemener för bokstäver i den hexadecimala notationen samt separatorn som infogas mellan varje par av intilliggande byte anges via motsvarande argument.
static ToString(const ArrayPtr<uint8_t>&, int)Konverterar värden i den angivna byte‑arrayen till deras hexadecimala strängrepresentation med start vid angivet index.
static ToString(const ArrayPtr<uint8_t>&, int, int)Konverterar ett intervall av värden i den angivna byte‑arrayen till deras hexadecimala strängrepresentation.
static ToUInt16(const System::ArrayPtr<uint8_t>&, int)Konverterar två byte från den angivna arrayen med start vid det angivna indexet till ett osignerat 16‑bitars heltalsvärde.
static ToUInt16(const System::Details::ArrayView<uint8_t>&, int)Konverterar två byte från den angivna arrayen med start vid det angivna indexet till ett osignerat 16‑bitars heltalsvärde.
static ToUInt32(const System::ArrayPtr<uint8_t>&, int)Konverterar fyra byte från den angivna arrayen med start vid det angivna indexet till ett osignerat 32‑bitars heltalsvärde.
static ToUInt32(const System::Details::ArrayView<uint8_t>&, int)Konverterar fyra byte från den angivna arrayen med start vid det angivna indexet till ett osignerat 32‑bitars heltalsvärde.
static ToUInt64(const System::ArrayPtr<uint8_t>&, int)Konverterar åtta byte från den angivna arrayen med start vid det angivna indexet till ett osignerat 64‑bitars heltalsvärde.
static ToUInt64(const System::Details::ArrayView<uint8_t>&, int)Konverterar åtta byte från den angivna arrayen med start vid det angivna indexet till ett osignerat 64‑bitars heltalsvärde.

Fält

FältBeskrivning
static IsLittleEndianAnger endianordningen för den aktuella arkitekturen. true om arkitekturen är little endian, false annars.

Anmärkningar

#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()
{
  // Skapa värden att skriva ut.
  int anInt = 1234567890;
  double aDouble = 0.123456789;

  // Skriv ut värdet och dess byte.
  Print(anInt);
  Print(aDouble);

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

Se även