BitConverter.DoubleToInt64Bits Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Converts the specified double-precision floating point number to a 64-bit signed integer.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- value
- Type: System.Double
The number to convert.
The following example uses the DoubleToInt64Bits method to convert the bit patterns of several Double values to Int64 values.
' Example of the BitConverter.DoubleToInt64Bits method. Module Example Private outputBlock As System.Windows.Controls.TextBlock Const formatter As String = "{0,25:E16}{1,23:X16}" ' Reinterpret the Double argument as a Long. Sub DoubleToLongBits( argument As Double ) Dim longValue As Long longValue = BitConverter.DoubleToInt64Bits( argument ) ' Display the resulting Long in hexadecimal. outputBlock.Text += String.Format( formatter, argument, longValue ) + Environment.NewLine End Sub Sub Demo(outputBlock As System.Windows.Controls.TextBlock) Example.outputBlock = outputBlock outputBlock.Text += _ "This example of the BitConverter.DoubleToInt64Bits( " & _ "Double ) " & Environment.NewLine & "method generates the " & _ "following output." & Environment.NewLine + Environment.NewLine outputBlock.Text += String.Format( formatter, "Double argument", _ "hexadecimal value" ) + Environment.NewLine outputBlock.Text += String.Format( formatter, "---------------", _ "-----------------" ) + Environment.NewLine ' Convert Double values and display the results. DoubleToLongBits( 1.0 ) DoubleToLongBits( 15.0 ) DoubleToLongBits( 255.0 ) DoubleToLongBits( 4294967295.0 ) DoubleToLongBits( 0.00390625 ) DoubleToLongBits( 0.00000000023283064365386962890625 ) DoubleToLongBits( 1.234567890123E-300 ) DoubleToLongBits( 1.23456789012345E-150 ) DoubleToLongBits( 1.2345678901234565 ) DoubleToLongBits( 1.2345678901234567 ) DoubleToLongBits( 1.2345678901234569 ) DoubleToLongBits( 1.23456789012345678E+150 ) DoubleToLongBits( 1.234567890123456789E+300 ) DoubleToLongBits( Double.MinValue ) DoubleToLongBits( Double.MaxValue ) DoubleToLongBits( Double.Epsilon ) DoubleToLongBits( Double.NaN ) DoubleToLongBits( Double.NegativeInfinity ) DoubleToLongBits( Double.PositiveInfinity ) End Sub End Module ' This example of the BitConverter.DoubleToInt64Bits( Double ) ' method generates the following output. ' ' Double argument hexadecimal value ' --------------- ----------------- ' 1.0000000000000000E+000 3FF0000000000000 ' 1.5000000000000000E+001 402E000000000000 ' 2.5500000000000000E+002 406FE00000000000 ' 4.2949672950000000E+009 41EFFFFFFFE00000 ' 3.9062500000000000E-003 3F70000000000000 ' 2.3283064365386963E-010 3DF0000000000000 ' 1.2345678901230000E-300 01AA74FE1C1E7E45 ' 1.2345678901234500E-150 20D02A36586DB4BB ' 1.2345678901234565E+000 3FF3C0CA428C59FA ' 1.2345678901234567E+000 3FF3C0CA428C59FB ' 1.2345678901234569E+000 3FF3C0CA428C59FC ' 1.2345678901234569E+150 5F182344CD3CDF9F ' 1.2345678901234569E+300 7E3D7EE8BCBBD352 ' -1.7976931348623157E+308 FFEFFFFFFFFFFFFF ' 1.7976931348623157E+308 7FEFFFFFFFFFFFFF ' 4.9406564584124654E-324 0000000000000001 ' NaN FFF8000000000000 ' -Infinity FFF0000000000000 ' Infinity 7FF0000000000000
Show: