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.