# BitConverter.Int64BitsToDouble(Int64) Método

## Definición

Reinterpreta el entero de 64 bits con signo especificado en un número de punto flotante de precisión doble.Reinterprets the specified 64-bit signed integer to a double-precision floating point number.

public:
static double Int64BitsToDouble(long value);
public static double Int64BitsToDouble (long value);
static member Int64BitsToDouble : int64 -> double
Public Shared Function Int64BitsToDouble (value As Long) As Double

#### Parámetros

value
Int64

Número que se va a convertir.The number to convert.

#### Devoluciones

Número de punto flotante de precisión doble cuyo valor es equivalente al valor de value.A double-precision floating point number whose value is equivalent to value.

## Ejemplos

En el ejemplo de código siguiente se convierten los patrones de bits de varios valores Int64 a valores Double con el método Int64BitsToDouble.The following code example converts the bit patterns of several Int64 values to Double values with the Int64BitsToDouble method.

// Example of the BitConverter::Int64BitsToDouble method.
using namespace System;

// Reinterpret the __int64 argument as a double.
void LongBitsToDouble( __int64 argument )
{
double doubleValue;
doubleValue = BitConverter::Int64BitsToDouble( argument );

// Display the argument in hexadecimal.
Console::WriteLine( "{0,20}{1,27:E16}", String::Format( "0x{0:X16}", argument ), doubleValue );
}

int main()
{
Console::WriteLine( "This example of the BitConverter::Int64BitsToDouble( "
"__int64 ) \nmethod generates the following output.\n" );
Console::WriteLine( "{0,20}{1,27:E16}", "__int64 argument", "double value" );
Console::WriteLine( "{0,20}{1,27:E16}", "----------------", "------------" );

// Convert __int64 values and display the results.
LongBitsToDouble( 0 );
LongBitsToDouble( 0x3FF0000000000000 );
LongBitsToDouble( 0x402E000000000000 );
LongBitsToDouble( 0x406FE00000000000 );
LongBitsToDouble( 0x41EFFFFFFFE00000 );
LongBitsToDouble( 0x3F70000000000000 );
LongBitsToDouble( 0x3DF0000000000000 );
LongBitsToDouble( 0x0000000000000001 );
LongBitsToDouble( 0x000000000000FFFF );
LongBitsToDouble( 0x0000FFFFFFFFFFFF );
LongBitsToDouble( 0xFFFFFFFFFFFFFFFF );
LongBitsToDouble( 0xFFF0000000000000 );
LongBitsToDouble( 0x7FF0000000000000 );
LongBitsToDouble( 0xFFEFFFFFFFFFFFFF );
LongBitsToDouble( 0x7FEFFFFFFFFFFFFF );
LongBitsToDouble( Int64::MinValue );
LongBitsToDouble( Int64::MaxValue );
}

/*
This example of the BitConverter::Int64BitsToDouble( __int64 )
method generates the following output.

__int64 argument               double value
----------------               ------------
0x0000000000000000    0.0000000000000000E+000
0x3FF0000000000000    1.0000000000000000E+000
0x402E000000000000    1.5000000000000000E+001
0x406FE00000000000    2.5500000000000000E+002
0x41EFFFFFFFE00000    4.2949672950000000E+009
0x3F70000000000000    3.9062500000000000E-003
0x3DF0000000000000    2.3283064365386963E-010
0x0000000000000001    4.9406564584124654E-324
0x000000000000FFFF    3.2378592100206092E-319
0x0000FFFFFFFFFFFF    1.3906711615669959E-309
0xFFFFFFFFFFFFFFFF                        NaN
0xFFF0000000000000                  -Infinity
0x7FF0000000000000                   Infinity
0xFFEFFFFFFFFFFFFF   -1.7976931348623157E+308
0x7FEFFFFFFFFFFFFF    1.7976931348623157E+308
0x8000000000000000    0.0000000000000000E+000
0x7FFFFFFFFFFFFFFF                        NaN
*/
// Example of the BitConverter.Int64BitsToDouble method.
using System;

class Int64BitsToDoubleDemo
{
const string formatter = "{0,20}{1,27:E16}";

// Reinterpret the long argument as a double.
public static void LongBitsToDouble( long argument )
{
double doubleValue;
doubleValue = BitConverter.Int64BitsToDouble( argument );

// Display the argument in hexadecimal.
Console.WriteLine( formatter,
String.Format( "0x{0:X16}", argument ), doubleValue );
}

public static void Main( )
{
Console.WriteLine(
"This example of the BitConverter.Int64BitsToDouble( " +
"long ) \nmethod generates the following output.\n" );
Console.WriteLine( formatter, "long argument",
"double value" );
Console.WriteLine( formatter, "-------------",
"------------" );

// Convert long values and display the results.
LongBitsToDouble( 0 );
LongBitsToDouble( 0x3FF0000000000000 );
LongBitsToDouble( 0x402E000000000000 );
LongBitsToDouble( 0x406FE00000000000 );
LongBitsToDouble( 0x41EFFFFFFFE00000 );
LongBitsToDouble( 0x3F70000000000000 );
LongBitsToDouble( 0x3DF0000000000000 );
LongBitsToDouble( 0x0000000000000001 );
LongBitsToDouble( 0x000000000000FFFF );
LongBitsToDouble( 0x0000FFFFFFFFFFFF );
LongBitsToDouble( unchecked( (long)0xFFFFFFFFFFFFFFFF ) );
LongBitsToDouble( unchecked( (long)0xFFF0000000000000 ) );
LongBitsToDouble( 0x7FF0000000000000 );
LongBitsToDouble( unchecked( (long)0xFFEFFFFFFFFFFFFF ) );
LongBitsToDouble( 0x7FEFFFFFFFFFFFFF );
LongBitsToDouble( long.MinValue );
LongBitsToDouble( long.MaxValue );
}
}

/*
This example of the BitConverter.Int64BitsToDouble( long )
method generates the following output.

long argument               double value
-------------               ------------
0x0000000000000000    0.0000000000000000E+000
0x3FF0000000000000    1.0000000000000000E+000
0x402E000000000000    1.5000000000000000E+001
0x406FE00000000000    2.5500000000000000E+002
0x41EFFFFFFFE00000    4.2949672950000000E+009
0x3F70000000000000    3.9062500000000000E-003
0x3DF0000000000000    2.3283064365386963E-010
0x0000000000000001    4.9406564584124654E-324
0x000000000000FFFF    3.2378592100206092E-319
0x0000FFFFFFFFFFFF    1.3906711615669959E-309
0xFFFFFFFFFFFFFFFF                        NaN
0xFFF0000000000000                  -Infinity
0x7FF0000000000000                   Infinity
0xFFEFFFFFFFFFFFFF   -1.7976931348623157E+308
0x7FEFFFFFFFFFFFFF    1.7976931348623157E+308
0x8000000000000000    0.0000000000000000E+000
0x7FFFFFFFFFFFFFFF                        NaN
*/
' Example of the BitConverter.Int64BitsToDouble method.
Module Int64BitsToDoubleDemo

Const formatter As String = "{0,20}{1,27:E16}"

' Reinterpret the Long argument as a Double.
Sub LongBitsToDouble( argument As Long )

Dim doubleValue    As Double
doubleValue = BitConverter.Int64BitsToDouble( argument )

' Display the argument in hexadecimal.
Console.WriteLine( formatter, _
String.Format( "0x{0:X16}", argument ), doubleValue )
End Sub

Sub Main( )

Console.WriteLine( _
"This example of the BitConverter.Int64BitsToDouble( " & _
"Long ) " & vbCrLf & "method generates the " & _
"following output." & vbCrLf )
Console.WriteLine( formatter, "Long argument", _
"Double value" )
Console.WriteLine( formatter, "-------------", _
"------------" )

' Convert Long values and display the results.
LongBitsToDouble( 0 )
LongBitsToDouble( &H3FF0000000000000 )
LongBitsToDouble( &H402E000000000000 )
LongBitsToDouble( &H406FE00000000000 )
LongBitsToDouble( &H41EFFFFFFFE00000 )
LongBitsToDouble( &H3F70000000000000 )
LongBitsToDouble( &H3DF0000000000000 )
LongBitsToDouble( &H0000000000000001 )
LongBitsToDouble( &H000000000000FFFF )
LongBitsToDouble( &H0000FFFFFFFFFFFF )
LongBitsToDouble( &HFFFFFFFFFFFFFFFF )
LongBitsToDouble( &HFFF0000000000000 )
LongBitsToDouble( &H7FF0000000000000 )
LongBitsToDouble( &HFFEFFFFFFFFFFFFF )
LongBitsToDouble( &H7FEFFFFFFFFFFFFF )
LongBitsToDouble( Long.MinValue )
LongBitsToDouble( Long.MaxValue )
End Sub
End Module

' This example of the BitConverter.Int64BitsToDouble( Long )
' method generates the following output.
'
'        Long argument               Double value
'        -------------               ------------
'   0x0000000000000000    0.0000000000000000E+000
'   0x3FF0000000000000    1.0000000000000000E+000
'   0x402E000000000000    1.5000000000000000E+001
'   0x406FE00000000000    2.5500000000000000E+002
'   0x41EFFFFFFFE00000    4.2949672950000000E+009
'   0x3F70000000000000    3.9062500000000000E-003
'   0x3DF0000000000000    2.3283064365386963E-010
'   0x0000000000000001    4.9406564584124654E-324
'   0x000000000000FFFF    3.2378592100206092E-319
'   0x0000FFFFFFFFFFFF    1.3906711615669959E-309
'   0xFFFFFFFFFFFFFFFF                        NaN
'   0xFFF0000000000000                  -Infinity
'   0x7FF0000000000000                   Infinity
'   0xFFEFFFFFFFFFFFFF   -1.7976931348623157E+308
'   0x7FEFFFFFFFFFFFFF    1.7976931348623157E+308
'   0x8000000000000000    0.0000000000000000E+000
'   0x7FFFFFFFFFFFFFFF                        NaN

## Comentarios

Normalmente, value es un entero devuelto por el método DoubleToInt64Bits.Typically, value is an integer that is returned by the DoubleToInt64Bits method.