System::BitConverter sınıfı

BitConverter class

Bayt dizisini bir değer tipine ve tersine dönüştüren yöntemler içerir. Bu, örnek hizmeti olmayan statik bir türdür. Onun örneklerini hiçbir şekilde oluşturmamalısınız.

class BitConverter

Yöntemler

YöntemAçıklama
static _IsLittleEndian()Mevcut mimarinin endianness’ini gösterir.
static DoubleToInt64Bits(double)Belirtilen çift duyarlıklı kayan nokta değerinin ikili temsiline eşit ikili temsile sahip 64-bit tam sayı değerini döndürür.
static GetBytes(bool)Belirtilen boolean değeri bayt dizisine dönüştürür.
static GetBytes(char_t)Belirtilen char_t değerini bayt dizisine dönüştürür.
static GetBytes(int16_t)Belirtilen 16-bit tam sayı değerini bayt dizisine dönüştürür.
static GetBytes(int)Belirtilen 32-bit tam sayı değerini bayt dizisine dönüştürür.
static GetBytes(int64_t)Belirtilen 64-bit tam sayı değerini bayt dizisine dönüştürür.
static GetBytes(uint16_t)Belirtilen işaretsiz 16-bit tam sayı değerini bayt dizisine dönüştürür.
static GetBytes(uint32_t)Belirtilen işaretsiz 32-bit tam sayı değerini bayt dizisine dönüştürür.
static GetBytes(uint64_t)Belirtilen işaretsiz 64-bit tam sayı değerini bayt dizisine dönüştürür.
static GetBytes(float)Belirtilen tek duyarlıklı kayan nokta değerini bayt dizisine dönüştürür.
static GetBytes(double)Belirtilen çift duyarlıklı kayan nokta değerini bayt dizisine dönüştürür.
static Int64BitsToDouble(int64_t)Değeri, verilen değere eşdeğer olan çift duyarlıklı kayan nokta değerini döndürür.
static ToBoolean(const System::ArrayPtr<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan bir baytı, boolean değere dönüştürür.
static ToBoolean(const System::Details::ArrayView<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan bir baytı, boolean değere dönüştürür.
static ToChar(const System::ArrayPtr<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan iki baytı, char_t değerine dönüştürür.
static ToChar(const System::Details::ArrayView<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan iki baytı, char_t değerine dönüştürür.
static ToDouble(const System::ArrayPtr<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan sekiz baytı, çift duyarlıklı kayan nokta değerine dönüştürür.
static ToDouble(const System::Details::ArrayView<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan sekiz baytı, çift duyarlıklı kayan nokta değerine dönüştürür.
static ToInt16(const System::ArrayPtr<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan iki baytı, 16-bit tam sayı değerine dönüştürür.
static ToInt16(const System::Details::ArrayView<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan iki baytı, 16-bit tam sayı değerine dönüştürür.
static ToInt32(const System::ArrayPtr<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan dört baytı, 32-bit tam sayı değerine dönüştürür.
static ToInt32(const System::Details::ArrayView<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan dört baytı, 32-bit tam sayı değerine dönüştürür.
static ToInt64(const System::ArrayPtr<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan sekiz baytı, 64-bit tam sayı değerine dönüştürür.
static ToInt64(const System::Details::ArrayView<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan sekiz baytı, 64-bit tam sayı değerine dönüştürür.
static ToSingle(const System::ArrayPtr<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan dört baytı, tek duyarlıklı kayan nokta değerine dönüştürür.
static ToSingle(const System::Details::ArrayView<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan dört baytı, tek duyarlıklı kayan nokta değerine dönüştürür.
static ToString(const ArrayPtr<uint8_t>&, bool, const String&)Belirtilen bayt dizisinin tüm değerlerini, onaltılık dize temsiline dönüştürür. Onaltılık gösterimde kullanılacak harflerin büyük/küçük olması ve komşu bayt çiftleri arasına eklenecek ayırıcı, ilgili argümanlarla belirtilir.
static ToString(const ArrayPtr<uint8_t>&, int)Belirtilen bayt dizisinin değerlerini, belirtilen indeksden başlayarak onaltılık dize temsiline dönüştürür.
static ToString(const ArrayPtr<uint8_t>&, int, int)Belirtilen bayt dizisinin bir değer aralığını, onaltılık dize temsiline dönüştürür.
static ToUInt16(const System::ArrayPtr<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan iki baytı, işaretsiz 16-bit tam sayı değerine dönüştürür.
static ToUInt16(const System::Details::ArrayView<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan iki baytı, işaretsiz 16-bit tam sayı değerine dönüştürür.
static ToUInt32(const System::ArrayPtr<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan dört baytı, işaretsiz 32-bit tam sayı değerine dönüştürür.
static ToUInt32(const System::Details::ArrayView<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan dört baytı, işaretsiz 32-bit tam sayı değerine dönüştürür.
static ToUInt64(const System::ArrayPtr<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan sekiz baytı, işaretsiz 64-bit tam sayı değerine dönüştürür.
static ToUInt64(const System::Details::ArrayView<uint8_t>&, int)Belirtilen dizinin belirtilen indeksinden başlayan sekiz baytı, işaretsiz 64-bit tam sayı değerine dönüştürür.

Alanlar

AlanAçıklama
static IsLittleEndianMevcut mimarinin uçbirim düzenini gösterir. Mimari küçük uçlu (little endian) ise true, aksi takdirde false döner.

Açıklamalar

#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()
{
  // Yazdırılacak değerleri oluştur.
  int anInt = 1234567890;
  double aDouble = 0.123456789;

  // Değeri ve baytlarını yazdır.
  Print(anInt);
  Print(aDouble);

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

Ayrıca Bakınız