الفئة System::BitConverter

BitConverter class

يحتوي على طرق تقوم بتحويل تسلسل البايتات إلى نوع قيمة والعكس. هذا نوع ثابت لا يقدم خدمات مثيلات. يجب ألا تنشئ أي مثيلات له بأي وسيلة.

class BitConverter

الطرق

طريقةالوصف
static _IsLittleEndian()يشير إلى ترتيب البايتات للمعمارية الحالية.
static DoubleToInt64Bits(double)يرجع قيمة عدد صحيح 64-بت تمثيلها الثنائي يساوي التمثيل الثنائي للقيمة ذات الفاصلة العائمة ذات الدقة المزدوجة المحددة.
static GetBytes(bool)يحوّل القيمة المنطقية المحددة إلى مصفوفة من البايتات.
static GetBytes(char_t)يحوّل قيمة char_t المحددة إلى مصفوفة من البايتات.
static GetBytes(int16_t)يحوّل قيمة عدد صحيح 16-بت المحددة إلى مصفوفة من البايتات.
static GetBytes(int)يحوّل قيمة عدد صحيح 32-بت المحددة إلى مصفوفة من البايتات.
static GetBytes(int64_t)يحوّل قيمة عدد صحيح 64-بت المحددة إلى مصفوفة من البايتات.
static GetBytes(uint16_t)يحوّل قيمة عدد صحيح غير موقع 16-بت المحددة إلى مصفوفة من البايتات.
static GetBytes(uint32_t)يحوّل قيمة عدد صحيح غير موقع 32-بت المحددة إلى مصفوفة من البايتات.
static GetBytes(uint64_t)يحوّل قيمة عدد صحيح غير موقع 64-بت المحددة إلى مصفوفة من البايتات.
static GetBytes(float)يحوّل قيمة عدد عائم بدقة مفردة محددة إلى مصفوفة من البايتات.
static GetBytes(double)يحوّل قيمة عدد عائم بدقة مزدوجة محددة إلى مصفوفة من البايتات.
static Int64BitsToDouble(int64_t)يرجع قيمة عدد عائم بدقة مزدوجة تكون قيمتها مكافئة للقيمة.
static ToBoolean(const System::ArrayPtr<uint8_t>&, int)يقوم بتحويل بايت واحد من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة منطقية.
static ToBoolean(const System::Details::ArrayView<uint8_t>&, int)يقوم بتحويل بايت واحد من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة منطقية.
static ToChar(const System::ArrayPtr<uint8_t>&, int)يقوم بتحويل بايتين من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة char_t.
static ToChar(const System::Details::ArrayView<uint8_t>&, int)يقوم بتحويل بايتين من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة char_t.
static ToDouble(const System::ArrayPtr<uint8_t>&, int)يقوم بتحويل ثمانية بايتات من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة عدد عائم مزدوج الدقة.
static ToDouble(const System::Details::ArrayView<uint8_t>&, int)يقوم بتحويل ثمانية بايتات من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة عدد عائم مزدوج الدقة.
static ToInt16(const System::ArrayPtr<uint8_t>&, int)يقوم بتحويل بايتين من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة عدد صحيح 16-بت.
static ToInt16(const System::Details::ArrayView<uint8_t>&, int)يقوم بتحويل بايتين من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة عدد صحيح 16-بت.
static ToInt32(const System::ArrayPtr<uint8_t>&, int)يقوم بتحويل أربعة بايتات من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة عدد صحيح 32-بت.
static ToInt32(const System::Details::ArrayView<uint8_t>&, int)يقوم بتحويل أربعة بايتات من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة عدد صحيح 32-بت.
static ToInt64(const System::ArrayPtr<uint8_t>&, int)يقوم بتحويل ثمانية بايتات من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة عدد صحيح 64-بت.
static ToInt64(const System::Details::ArrayView<uint8_t>&, int)يقوم بتحويل ثمانية بايتات من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة عدد صحيح 64-بت.
static ToSingle(const System::ArrayPtr<uint8_t>&, int)يقوم بتحويل أربعة بايتات من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة عدد عائم أحادي الدقة.
static ToSingle(const System::Details::ArrayView<uint8_t>&, int)يقوم بتحويل أربعة بايتات من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة عدد عائم أحادي الدقة.
static ToString(const ArrayPtr<uint8_t>&, bool, const String&)يقوم بتحويل جميع قيم مصفوفة البايت المحددة إلى تمثيلها كسلسلة ست عشرية. حالة الأحرف المستخدمة في الترميز الست عشري والفاصل المُدرج بين كل زوج من البايتات المتجاورة محددان من خلال الوسائط المقابلة.
static ToString(const ArrayPtr<uint8_t>&, int)يقوم بتحويل قيم مصفوفة البايت المحددة إلى تمثيلها كسلسلة ست عشرية بدءًا من الفهرس المحدد.
static ToString(const ArrayPtr<uint8_t>&, int, int)يقوم بتحويل نطاق من قيم مصفوفة البايت المحددة إلى تمثيلها كسلسلة ست عشرية.
static ToUInt16(const System::ArrayPtr<uint8_t>&, int)يقوم بتحويل بايتين من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة عدد صحيح غير موقع 16-بت.
static ToUInt16(const System::Details::ArrayView<uint8_t>&, int)يقوم بتحويل بايتين من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة عدد صحيح غير موقع 16-بت.
static ToUInt32(const System::ArrayPtr<uint8_t>&, int)يقوم بتحويل أربعة بايتات من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة عدد صحيح غير موقع 32-بت.
static ToUInt32(const System::Details::ArrayView<uint8_t>&, int)يقوم بتحويل أربعة بايتات من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة عدد صحيح غير موقع 32-بت.
static ToUInt64(const System::ArrayPtr<uint8_t>&, int)يقوم بتحويل ثمانية بايتات من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة عدد صحيح غير موقع 64-بت.
static ToUInt64(const System::Details::ArrayView<uint8_t>&, int)يقوم بتحويل ثمانية بايتات من المصفوفة المحددة بدءًا من الفهرس المحدد إلى قيمة عدد صحيح غير موقع 64-بت.

الحقول

حقلالوصف
static IsLittleEndianيشير إلى ترتيب البايتات (endianness) للمعمارية الحالية. true إذا كانت المعمارية ذات ترتيب little endian، false غير ذلك.

ملاحظات

#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()
{
  // إنشاء قيم للطباعة.
  int anInt = 1234567890;
  double aDouble = 0.123456789;

  // طباعة القيمة وبايتاتها.
  Print(anInt);
  Print(aDouble);

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

انظر أيضًا