System::BitConverter class

BitConverter class

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

class BitConverter

الطرق

طريقةالوصف
static _IsLittleEndian()يشير إلى endianness للمعمارية الحالية.
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
*/

انظر أيضًا