C# | Clase BitConverter

El uso de BitConverter Class es convertir tipos de datos base en una array de bytes y una array de bytes en tipos de datos base. Esta clase se define en el espacio de System nombres. Esta clase proporciona diferentes tipos de métodos para realizar la conversión. Básicamente, un byte se define como un entero sin signo de 8 bits. Esta clase ayuda a manipular los tipos de valor en su forma fundamental, como una serie de bytes. Se hace con la ayuda de métodos estáticos. Los métodos estáticos de la clase BitConverter se utilizan para convertir cada uno de los tipos primitivos hacia y desde una array de bytes.

Campo:

  • IsLittleEndian : Esto indica el orden de bytes («endianness») en el que se almacenan los datos en esta arquitectura informática.

Métodos

Método Descripción
DoubleToInt64Bits(Doble) Convierte el número de coma flotante de doble precisión especificado en un entero de 64 bits con signo.
ObtenerBytes() Convierte los datos especificados en una array de bytes.
Int32BitsToSingle() Convierte el entero de 32 bits con signo especificado en un número de coma flotante de precisión simple.
Int64BitsToDouble(Int64) Convierte el entero de 64 bits con signo especificado en un número de punto flotante de doble precisión.
SingleToInt32Bits() Convierte el número de punto flotante de precisión simple especificado en un entero de 32 bits con signo.
ParaBooleano(Byte[], Int32) Devuelve un valor booleano convertido a partir del byte en una posición especificada en una array de bytes.
ToChar(Byte[], Int32) Devuelve un carácter Unicode convertido a partir de dos bytes en una posición especificada en una array de bytes.
ParaDoble(Byte[], Int32) Devuelve un número de punto flotante de precisión doble convertido a partir de ocho bytes en una posición especificada en una array de bytes.
AInt16(Byte[], Int32) Devuelve un entero con signo de 16 bits convertido a partir de dos bytes en una posición especificada en una array de bytes.
AInt32(Byte[], Int32) Devuelve un entero de 32 bits con signo convertido a partir de cuatro bytes en una posición especificada en una array de bytes.
AInt64(Byte[], Int32) Devuelve un entero de 64 bits con signo convertido a partir de ocho bytes en una posición especificada en una array de bytes.
ParaSingle(Byte[], Int32) Devuelve un número de punto flotante de precisión simple convertido a partir de cuatro bytes en una posición especificada en una array de bytes.
Enstringr() Convierte el valor numérico de cada elemento de una array de bytes especificada en su representación de string hexadecimal equivalente.
ToUInt16(Byte[], Int32) Devuelve un entero sin signo de 16 bits convertido a partir de dos bytes en una posición especificada en una array de bytes.
ToUInt32(Byte[], Int32) Devuelve un entero sin signo de 32 bits convertido a partir de cuatro bytes en una posición especificada en una array de bytes.
ToUInt64(Byte[], Int32) Devuelve un entero sin signo de 64 bits convertido a partir de ocho bytes en una posición especificada en una array de bytes.

Ejemplo 1:

// C# program to illustrate the
// use of GetBytes(Int64) method
using System;
  
class GFG {
  
    // Main method
    static public void Main()
    {
  
        // Creating and initializing an array
        long[] ele = {0, long.MaxValue, long.MinValue,
                         1000000000000000, -100000000, 
                       0xDDDDDDDDD, -0xAAAAAAAAAAAA };
  
        // Display the elements
        Console.WriteLine("Elements are:");
        foreach(long i in ele)
        {
            Console.WriteLine(i);
        }
  
        foreach(var num in ele)
        {
  
            // Get the specified 64-bit signed
            // integer value as an array of bytes.
            // using GetBytes(Int64) method
            byte[] BArr = BitConverter.GetBytes(num);
  
            // Display the elements
            Console.WriteLine("Element: {0}", 
                BitConverter.ToString(BArr));
        }
    }
}

Producción:

Elements are:
0
9223372036854775807
-9223372036854775808
1000000000000000
-100000000
59556879837
-187649984473770
Element: 00-00-00-00-00-00-00-00
Element: FF-FF-FF-FF-FF-FF-FF-7F
Element: 00-00-00-00-00-00-00-80
Element: 00-80-C6-A4-7E-8D-03-00
Element: 00-1F-0A-FA-FF-FF-FF-FF
Element: DD-DD-DD-DD-0D-00-00-00
Element: 56-55-55-55-55-55-FF-FF

Ejemplo 2:

// C# program to illustrate the
// use of Int64BitsToDouble(Int64)
// method
using System;
  
class GFG {
  
    // Main method
    static public void Main()
    {
  
        long ele = 0xFFFFFFFFFFFFFFF;
  
        // Converts the given 64-bit signed
        // integer to a double-precision 
        // floating point number using the 
        // Int64BitsToDouble(Int64) method
        double R = BitConverter.Int64BitsToDouble(ele);
  
        // Display the element
        Console.WriteLine("Converted Element is : {0}", R);
    }
}

Producción:

Converted Element is : 1.28822975391943E-231

Referencia:

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *