System::BitConverter clase

BitConverter class

Contiene métodos que realizan conversiones de una secuencia de bytes a un tipo de valor y viceversa. Este es un tipo estático sin servicios de instancia. Nunca debe crear instancias de él por ningún medio.

class BitConverter

Métodos

MétodoDescripción
static _IsLittleEndian()Indica el endianismo de la arquitectura actual.
static DoubleToInt64Bits(double)Devuelve un valor entero de 64 bits cuya representación binaria es igual a la representación binaria del valor de punto flotante de doble precisión especificado.
static GetBytes(bool)Convierte el valor booleano especificado en una matriz de bytes.
static GetBytes(char_t)Convierte el valor char_t especificado en una matriz de bytes.
static GetBytes(int16_t)Convierte el valor entero de 16 bits especificado en una matriz de bytes.
static GetBytes(int)Convierte el valor entero de 32 bits especificado en una matriz de bytes.
static GetBytes(int64_t)Convierte el valor entero de 64 bits especificado en una matriz de bytes.
static GetBytes(uint16_t)Convierte el valor entero sin signo de 16 bits especificado en una matriz de bytes.
static GetBytes(uint32_t)Convierte el valor entero sin signo de 32 bits especificado en una matriz de bytes.
static GetBytes(uint64_t)Convierte el valor entero sin signo de 64 bits especificado en una matriz de bytes.
static GetBytes(float)Convierte el valor de punto flotante de precisión simple especificado en una matriz de bytes.
static GetBytes(double)Convierte el valor de punto flotante de precisión doble especificado en una matriz de bytes.
static Int64BitsToDouble(int64_t)Devuelve un valor de punto flotante de precisión doble cuyo valor es equivalente a value.
static ToBoolean(const System::ArrayPtr<uint8_t>&, int)Convierte un byte de la matriz especificada que comienza en el índice especificado a un valor booleano.
static ToBoolean(const System::Details::ArrayView<uint8_t>&, int)Convierte un byte de la matriz especificada que comienza en el índice especificado a un valor booleano.
static ToChar(const System::ArrayPtr<uint8_t>&, int)Convierte dos bytes de la matriz especificada que comienza en el índice especificado a un valor char_t.
static ToChar(const System::Details::ArrayView<uint8_t>&, int)Convierte dos bytes de la matriz especificada que comienza en el índice especificado a un valor char_t.
static ToDouble(const System::ArrayPtr<uint8_t>&, int)Convierte ocho bytes del arreglo especificado a partir del índice especificado a un valor de punto flotante de doble precisión.
static ToDouble(const System::Details::ArrayView<uint8_t>&, int)Convierte ocho bytes del arreglo especificado a partir del índice especificado a un valor de punto flotante de doble precisión.
static ToInt16(const System::ArrayPtr<uint8_t>&, int)Convierte dos bytes del arreglo especificado a partir del índice especificado a un valor entero de 16 bits.
static ToInt16(const System::Details::ArrayView<uint8_t>&, int)Convierte dos bytes del arreglo especificado a partir del índice especificado a un valor entero de 16 bits.
static ToInt32(const System::ArrayPtr<uint8_t>&, int)Convierte cuatro bytes del arreglo especificado a partir del índice especificado a un valor entero de 32 bits.
static ToInt32(const System::Details::ArrayView<uint8_t>&, int)Convierte cuatro bytes del arreglo especificado a partir del índice especificado a un valor entero de 32 bits.
static ToInt64(const System::ArrayPtr<uint8_t>&, int)Convierte ocho bytes del arreglo especificado a partir del índice especificado a un valor entero de 64 bits.
static ToInt64(const System::Details::ArrayView<uint8_t>&, int)Convierte ocho bytes del arreglo especificado a partir del índice especificado a un valor entero de 64 bits.
static ToSingle(const System::ArrayPtr<uint8_t>&, int)Convierte cuatro bytes del arreglo especificado a partir del índice especificado a un valor de punto flotante de precisión simple.
static ToSingle(const System::Details::ArrayView<uint8_t>&, int)Convierte cuatro bytes del arreglo especificado a partir del índice especificado a un valor de punto flotante de precisión simple.
static ToString(const ArrayPtr<uint8_t>&, bool, const String&)Convierte todos los valores del arreglo de bytes especificado a su representación en cadena hexadecimal. El caso de las letras a usar en la notación hexadecimal y el separador insertado entre cada par de bytes vecinos se especifican mediante los argumentos correspondientes.
static ToString(const ArrayPtr<uint8_t>&, int)Convierte los valores del arreglo de bytes especificado a su representación en cadena hexadecimal a partir del índice especificado.
static ToString(const ArrayPtr<uint8_t>&, int, int)Convierte un rango de valores del arreglo de bytes especificado a su representación en cadena hexadecimal.
static ToUInt16(const System::ArrayPtr<uint8_t>&, int)Convierte dos bytes del arreglo especificado a partir del índice especificado a un valor entero sin signo de 16 bits.
static ToUInt16(const System::Details::ArrayView<uint8_t>&, int)Convierte dos bytes del arreglo especificado a partir del índice especificado a un valor entero sin signo de 16 bits.
static ToUInt32(const System::ArrayPtr<uint8_t>&, int)Convierte cuatro bytes del arreglo especificado a partir del índice especificado a un valor entero sin signo de 32 bits.
static ToUInt32(const System::Details::ArrayView<uint8_t>&, int)Convierte cuatro bytes del arreglo especificado a partir del índice especificado a un valor entero sin signo de 32 bits.
static ToUInt64(const System::ArrayPtr<uint8_t>&, int)Convierte ocho bytes del arreglo especificado a partir del índice especificado a un valor entero sin signo de 64 bits.
static ToUInt64(const System::Details::ArrayView<uint8_t>&, int)Convierte ocho bytes del arreglo especificado a partir del índice especificado a un valor entero sin signo de 64 bits.

Campos

CampoDescripción
static IsLittleEndianIndica el endianismo de la arquitectura actual. true si la arquitectura es little endian, false en caso contrario.

Observaciones

#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()
{
  // Crea valores para imprimir.
  int anInt = 1234567890;
  double aDouble = 0.123456789;

  // Imprime el valor y sus bytes.
  Print(anInt);
  Print(aDouble);

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

Ver también