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)지정된 인덱스에서 시작하는 지정된 배열의 8바이트를 변환하여 배정밀도 부동소수점 값으로 변환합니다.
static ToDouble(const System::Details::ArrayView<uint8_t>&, int)지정된 인덱스에서 시작하는 지정된 배열의 8바이트를 변환하여 배정밀도 부동소수점 값으로 변환합니다.
static ToInt16(const System::ArrayPtr<uint8_t>&, int)지정된 인덱스에서 시작하는 지정된 배열의 2바이트를 변환하여 16비트 정수 값으로 변환합니다.
static ToInt16(const System::Details::ArrayView<uint8_t>&, int)지정된 인덱스에서 시작하는 지정된 배열의 2바이트를 변환하여 16비트 정수 값으로 변환합니다.
static ToInt32(const System::ArrayPtr<uint8_t>&, int)지정된 인덱스에서 시작하는 지정된 배열의 4바이트를 변환하여 32비트 정수 값으로 변환합니다.
static ToInt32(const System::Details::ArrayView<uint8_t>&, int)지정된 인덱스에서 시작하는 지정된 배열의 4바이트를 변환하여 32비트 정수 값으로 변환합니다.
static ToInt64(const System::ArrayPtr<uint8_t>&, int)지정된 인덱스에서 시작하는 지정된 배열의 8바이트를 변환하여 64비트 정수 값으로 변환합니다.
static ToInt64(const System::Details::ArrayView<uint8_t>&, int)지정된 인덱스에서 시작하는 지정된 배열의 8바이트를 변환하여 64비트 정수 값으로 변환합니다.
static ToSingle(const System::ArrayPtr<uint8_t>&, int)지정된 인덱스에서 시작하는 지정된 배열의 4바이트를 변환하여 단정밀도 부동소수점 값으로 변환합니다.
static ToSingle(const System::Details::ArrayView<uint8_t>&, int)지정된 인덱스에서 시작하는 지정된 배열의 4바이트를 변환하여 단정밀도 부동소수점 값으로 변환합니다.
static ToString(const ArrayPtr<uint8_t>&, bool, const String&)지정된 바이트 배열의 모든 값을 16진수 문자열 표현으로 변환합니다. 16진수 표기에서 사용할 문자 대소문자와 인접한 바이트 쌍 사이에 삽입되는 구분자는 해당 인수들을 통해 지정됩니다.
static ToString(const ArrayPtr<uint8_t>&, int)지정된 인덱스에서 시작하여 지정된 바이트 배열의 값을 16진수 문자열 표현으로 변환합니다.
static ToString(const ArrayPtr<uint8_t>&, int, int)지정된 바이트 배열의 값 범위를 16진수 문자열 표현으로 변환합니다.
static ToUInt16(const System::ArrayPtr<uint8_t>&, int)지정된 인덱스에서 시작하는 지정된 배열의 2바이트를 변환하여 부호 없는 16비트 정수 값으로 변환합니다.
static ToUInt16(const System::Details::ArrayView<uint8_t>&, int)지정된 인덱스에서 시작하는 지정된 배열의 2바이트를 변환하여 부호 없는 16비트 정수 값으로 변환합니다.
static ToUInt32(const System::ArrayPtr<uint8_t>&, int)지정된 인덱스에서 시작하는 지정된 배열의 4바이트를 변환하여 부호 없는 32비트 정수 값으로 변환합니다.
static ToUInt32(const System::Details::ArrayView<uint8_t>&, int)지정된 인덱스에서 시작하는 지정된 배열의 4바이트를 변환하여 부호 없는 32비트 정수 값으로 변환합니다.
static ToUInt64(const System::ArrayPtr<uint8_t>&, int)지정된 인덱스에서 시작하는 지정된 배열의 8바이트를 변환하여 부호 없는 64비트 정수 값으로 변환합니다.
static ToUInt64(const System::Details::ArrayView<uint8_t>&, int)지정된 인덱스에서 시작하는 지정된 배열의 8바이트를 변환하여 부호 없는 64비트 정수 값으로 변환합니다.

필드

필드설명
static IsLittleEndian현재 아키텍처의 엔디언 방식을 나타냅니다. 아키텍처가 리틀 엔디언이면 true, 그렇지 않으면 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
*/

또 보기