BitConverter.ToDouble メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > BitConverter.ToDouble メソッドの意味・解説 

BitConverter.ToDouble メソッド

バイト配列内の指定位置にある 8 バイトから変換され倍精度浮動小数点数返します

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Shared Function ToDouble
 ( _
    value As Byte(), _
    startIndex As Integer _
) As Double
Dim value As Byte()
Dim startIndex As Integer
Dim returnValue As Double

returnValue = BitConverter.ToDouble(value, startIndex)
public static double ToDouble (
    byte[] value,
    int startIndex
)
public:
static double ToDouble (
    array<unsigned char>^ value, 
    int startIndex
)
public static double ToDouble (
    byte[] value, 
    int startIndex
)
public static function ToDouble
 (
    value : byte[], 
    startIndex : int
) : double

パラメータ

value

バイト配列

startIndex

value 内の開始位置

戻り値
startIndex から始まる 8 バイト構成される倍精度浮動小数点数

例外例外
例外種類条件

ArgumentNullException

valuenull 参照 (Visual Basic では Nothing) です。

ArgumentOutOfRangeException

startIndex が 0 未満か、value長さから 8 を引いたより大きい値です。

使用例使用例

ToDouble メソッド使用してByte 配列要素Double 値に変換するコード例次に示します

' Example of the BitConverter.ToDouble method.
Imports System
Imports Microsoft.VisualBasic

Module BytesToDoubleDemo

    Const formatter As String
 = "{0,5}{1,27}{2,27:E16}"
 
    ' Convert eight Byte array elements to a Double and display it.
    Sub BAToDouble( bytes( ) As Byte,
 index As Integer )

        Dim value As Double
 = BitConverter.ToDouble( bytes, index )

        Console.WriteLine( formatter, index, _
            BitConverter.ToString( bytes, index, 8 ), value )
    End Sub 

    ' Display a Byte array, using multiple lines if necessary.
    Sub WriteMultiLineByteArray( bytes( ) As
 Byte )
       
        Const rowSize As Integer
 = 20 
        Dim iter As Integer

        Console.WriteLine( "initial Byte array" )
        Console.WriteLine( "------------------" )

        For iter = 0 To bytes.Length - rowSize
 - 1 Step rowSize
            Console.Write( _
                BitConverter.ToString( bytes, iter, rowSize ) )
            Console.WriteLine( "-" )
        Next iter

        Console.WriteLine( BitConverter.ToString( bytes, iter ) )
        Console.WriteLine( )
    End Sub

    Sub Main( )
        Dim byteArray as Byte(
 ) = { _
              0,   0,   0,   0,   0,   0,   0,   0, 240,  63, _
              0,   0,   0,   0,   0, 224, 111,  64,   0,   0, _
            224, 255, 255, 255, 239,  65,   0,   0,   0,   0, _
              0,   0, 112,  63,   0,   0,   0,   0,   0,   0, _
            240,  61, 223, 136,  30,  28, 254, 116, 170,   1, _
            250,  89, 140,  66, 202, 192, 243,  63, 251,  89, _
            140,  66, 202, 192, 243,  63, 252,  89, 140,  66, _
            202, 192, 243,  63,  82, 211, 187, 188, 232, 126, _
             61, 126, 255, 255, 255, 255, 255, 255, 239, 255, _
            255, 255, 255, 255, 255, 239, 127,   1,   0,   0, _
              0,   0,   0,   0,   0, 248, 255,   0,   0,   0, _
              0,   0,   0, 240, 255,   0,   0,   0,   0,   0, _
              0, 240, 127 }

        Console.WriteLine( _
            "This example of the BitConverter.ToDouble( Byte(
 ), " & _
            "Integer ) " & vbCrLf & "method
 generates the " & _
            "following output. It converts elements "
 & vbCrLf & _
            "of a Byte array to Double values." &
 vbCrLf )

        WriteMultiLineByteArray( byteArray )

        Console.WriteLine( formatter, "index", "array
 elements", _
            "Double" )
        Console.WriteLine( formatter, "-----", "--------------",
 _
            "------" )
          
        ' Convert Byte array elements to Double values.
        BAToDouble( byteArray, 0 )
        BAToDouble( byteArray, 2 )
        BAToDouble( byteArray, 10 )
        BAToDouble( byteArray, 18 )
        BAToDouble( byteArray, 26 )
        BAToDouble( byteArray, 34 )
        BAToDouble( byteArray, 42 )
        BAToDouble( byteArray, 50 )
        BAToDouble( byteArray, 58 )
        BAToDouble( byteArray, 66 )
        BAToDouble( byteArray, 74 )
        BAToDouble( byteArray, 82 )
        BAToDouble( byteArray, 89 )
        BAToDouble( byteArray, 97 )
        BAToDouble( byteArray, 99 )
        BAToDouble( byteArray, 107 )
        BAToDouble( byteArray, 115 )
    End Sub 
End Module

' This example of the BitConverter.ToDouble( Byte( ), Integer )
' method generates the following output. It converts elements
' of a Byte array to Double values.
' 
' initial Byte array
' ------------------
' 00-00-00-00-00-00-00-00-F0-3F-00-00-00-00-00-E0-6F-40-00-00-
' E0-FF-FF-FF-EF-41-00-00-00-00-00-00-70-3F-00-00-00-00-00-00-
' F0-3D-DF-88-1E-1C-FE-74-AA-01-FA-59-8C-42-CA-C0-F3-3F-FB-59-
' 8C-42-CA-C0-F3-3F-FC-59-8C-42-CA-C0-F3-3F-52-D3-BB-BC-E8-7E-
' 3D-7E-FF-FF-FF-FF-FF-FF-EF-FF-FF-FF-FF-FF-FF-EF-7F-01-00-00-
' 00-00-00-00-00-F8-FF-00-00-00-00-00-00-F0-FF-00-00-00-00-00-
' 00-F0-7F
' 
' index             array elements                     Double
' -----             --------------                     ------
'     0    00-00-00-00-00-00-00-00    0.0000000000000000E+000
'     2    00-00-00-00-00-00-F0-3F    1.0000000000000000E+000
'    10    00-00-00-00-00-E0-6F-40    2.5500000000000000E+002
'    18    00-00-E0-FF-FF-FF-EF-41    4.2949672950000000E+009
'    26    00-00-00-00-00-00-70-3F    3.9062500000000000E-003
'    34    00-00-00-00-00-00-F0-3D    2.3283064365386963E-010
'    42    DF-88-1E-1C-FE-74-AA-01    1.2345678901234500E-300
'    50    FA-59-8C-42-CA-C0-F3-3F    1.2345678901234565E+000
'    58    FB-59-8C-42-CA-C0-F3-3F    1.2345678901234567E+000
'    66    FC-59-8C-42-CA-C0-F3-3F    1.2345678901234569E+000
'    74    52-D3-BB-BC-E8-7E-3D-7E    1.2345678901234569E+300
'    82    FF-FF-FF-FF-FF-FF-EF-FF   -1.7976931348623157E+308
'    89    FF-FF-FF-FF-FF-FF-EF-7F    1.7976931348623157E+308
'    97    01-00-00-00-00-00-00-00    4.9406564584124654E-324
'    99    00-00-00-00-00-00-F8-FF                        NaN
'   107    00-00-00-00-00-00-F0-FF                  -Infinity
'   115    00-00-00-00-00-00-F0-7F                   Infinity
// Example of the BitConverter.ToDouble method.
using System;

class BytesToDoubleDemo
{
    const string formatter = "{0,5}{1
,27}{2,27:E16}";
 
    // Convert eight byte array elements to a double and display it.
    public static void BAToDouble(
 byte[ ] bytes, int index )
    {
        double value = BitConverter.ToDouble( bytes, index );

        Console.WriteLine( formatter, index, 
            BitConverter.ToString( bytes, index, 8 ), value );
    }

    // Display a byte array, using multiple lines if necessary.
    public static void WriteMultiLineByteArray(
 byte[ ] bytes )
    {
        const int rowSize = 20;
        int iter;

        Console.WriteLine( "initial byte array" );
        Console.WriteLine( "------------------" );

        for( iter = 0; iter < bytes.Length - rowSize; iter
 += rowSize )
        {
            Console.Write( 
                BitConverter.ToString( bytes, iter, rowSize ) );
            Console.WriteLine( "-" );
        }

        Console.WriteLine( BitConverter.ToString( bytes, iter ) );
        Console.WriteLine( );
    }

    public static void Main(
 )
    {
        byte[ ] byteArray = {
              0,   0,   0,   0,   0,   0,   0,   0, 240,  63, 
              0,   0,   0,   0,   0, 224, 111,  64,   0,   0, 
            224, 255, 255, 255, 239,  65,   0,   0,   0,   0, 
              0,   0, 112,  63,   0,   0,   0,   0,   0,   0, 
            240,  61, 223, 136,  30,  28, 254, 116, 170,   1, 
            250,  89, 140,  66, 202, 192, 243,  63, 251,  89, 
            140,  66, 202, 192, 243,  63, 252,  89, 140,  66, 
            202, 192, 243,  63,  82, 211, 187, 188, 232, 126, 
             61, 126, 255, 255, 255, 255, 255, 255, 239, 255, 
            255, 255, 255, 255, 255, 239, 127,   1,   0,   0, 
              0,   0,   0,   0,   0, 248, 255,   0,   0,   0, 
              0,   0,   0, 240, 255,   0,   0,   0,   0,   0, 
              0, 240, 127 };

        Console.WriteLine( 
            "This example of the BitConverter.ToDouble( byte[ ], " +
            "int ) \nmethod generates the following output.
 It " +
            "converts elements \nof a byte array to double values.\n" );

        WriteMultiLineByteArray( byteArray );

        Console.WriteLine( formatter, "index", "array elements",
 
            "double" );
        Console.WriteLine( formatter, "-----", "--------------",
 
            "------" );
          
        // Convert byte array elements to double values.
        BAToDouble( byteArray, 0 );
        BAToDouble( byteArray, 2 );
        BAToDouble( byteArray, 10 );
        BAToDouble( byteArray, 18 );
        BAToDouble( byteArray, 26 );
        BAToDouble( byteArray, 34 );
        BAToDouble( byteArray, 42 );
        BAToDouble( byteArray, 50 );
        BAToDouble( byteArray, 58 );
        BAToDouble( byteArray, 66 );
        BAToDouble( byteArray, 74 );
        BAToDouble( byteArray, 82 );
        BAToDouble( byteArray, 89 );
        BAToDouble( byteArray, 97 );
        BAToDouble( byteArray, 99 );
        BAToDouble( byteArray, 107 );
        BAToDouble( byteArray, 115 );
    }
}

/*
This example of the BitConverter.ToDouble( byte[ ], int )
method generates the following output. It converts elements
of a byte array to double values.

initial byte array
------------------
00-00-00-00-00-00-00-00-F0-3F-00-00-00-00-00-E0-6F-40-00-00-
E0-FF-FF-FF-EF-41-00-00-00-00-00-00-70-3F-00-00-00-00-00-00-
F0-3D-DF-88-1E-1C-FE-74-AA-01-FA-59-8C-42-CA-C0-F3-3F-FB-59-
8C-42-CA-C0-F3-3F-FC-59-8C-42-CA-C0-F3-3F-52-D3-BB-BC-E8-7E-
3D-7E-FF-FF-FF-FF-FF-FF-EF-FF-FF-FF-FF-FF-FF-EF-7F-01-00-00-
00-00-00-00-00-F8-FF-00-00-00-00-00-00-F0-FF-00-00-00-00-00-
00-F0-7F

index             array elements                     double
-----             --------------                     ------
    0    00-00-00-00-00-00-00-00    0.0000000000000000E+000
    2    00-00-00-00-00-00-F0-3F    1.0000000000000000E+000
   10    00-00-00-00-00-E0-6F-40    2.5500000000000000E+002
   18    00-00-E0-FF-FF-FF-EF-41    4.2949672950000000E+009
   26    00-00-00-00-00-00-70-3F    3.9062500000000000E-003
   34    00-00-00-00-00-00-F0-3D    2.3283064365386963E-010
   42    DF-88-1E-1C-FE-74-AA-01    1.2345678901234500E-300
   50    FA-59-8C-42-CA-C0-F3-3F    1.2345678901234565E+000
   58    FB-59-8C-42-CA-C0-F3-3F    1.2345678901234567E+000
   66    FC-59-8C-42-CA-C0-F3-3F    1.2345678901234569E+000
   74    52-D3-BB-BC-E8-7E-3D-7E    1.2345678901234569E+300
   82    FF-FF-FF-FF-FF-FF-EF-FF   -1.7976931348623157E+308
   89    FF-FF-FF-FF-FF-FF-EF-7F    1.7976931348623157E+308
   97    01-00-00-00-00-00-00-00    4.9406564584124654E-324
   99    00-00-00-00-00-00-F8-FF                        NaN
  107    00-00-00-00-00-00-F0-FF                  -Infinity
  115    00-00-00-00-00-00-F0-7F                   Infinity
*/
// Example of the BitConverter::ToDouble method.
using namespace System;

// Convert eight byte array elements to a double and display it.
void BAToDouble( array<unsigned char>^bytes,
 int index )
{
   double value = BitConverter::ToDouble( bytes, index );
   Console::WriteLine( "{0,5}{1,27}{2,27:E16}", index, BitConverter::ToString(
 bytes, index, 8 ), value );
}


// Display a byte array, using multiple lines if necessary.
void WriteMultiLineByteArray( array<unsigned char>^bytes
 )
{
   const int rowSize = 20;
   int iter;
   Console::WriteLine( "initial unsigned char array"
 );
   Console::WriteLine( "---------------------------" );
   for ( iter = 0; iter < bytes->Length - rowSize; iter
 += rowSize )
   {
      Console::Write( BitConverter::ToString( bytes, iter, rowSize ) );
      Console::WriteLine( "-" );

   }
   Console::WriteLine( BitConverter::ToString( bytes, iter ) );
   Console::WriteLine();
}

int main()
{
   array<unsigned char>^byteArray = {0,0,0,0,0,0,0,0,240
,63,0,0,0,0,0,224,111,64,0,0,224,255,255,255,239,65,0,0,0,0,0,0,112,63,0,0,0,0,0
,0,240,61,223,136,30,28,254,116,170,1,250,89,140,66,202,192,243,63,251,89,140,66,202,192,243,63,252,89,140,66,202,192,243,63,82,211,187,188,232,126,61,126,255,255
,255,255,255,255,239,255,255,255,255,255,255,239,127,1,0,0,0,0,0,0,0,248,255,0,0,0,0,0,0,240,255,0,0,0,0,0,0,240,127};
   Console::WriteLine( "This example of the BitConverter::ToDouble( unsigned
 "
   "char[ ], int ) \nmethod generates
 the following output. It "
   "converts elements of a \nbyte array to double values.\n" );
   WriteMultiLineByteArray( byteArray );
   Console::WriteLine( "{0,5}{1,27}{2,27:E16}", "index", "array
 elements", "double" );
   Console::WriteLine( "{0,5}{1,27}{2,27:E16}", "-----", "--------------",
 "------" );
   
   // Convert byte array elements to double values.
   BAToDouble( byteArray, 0 );
   BAToDouble( byteArray, 2 );
   BAToDouble( byteArray, 10 );
   BAToDouble( byteArray, 18 );
   BAToDouble( byteArray, 26 );
   BAToDouble( byteArray, 34 );
   BAToDouble( byteArray, 42 );
   BAToDouble( byteArray, 50 );
   BAToDouble( byteArray, 58 );
   BAToDouble( byteArray, 66 );
   BAToDouble( byteArray, 74 );
   BAToDouble( byteArray, 82 );
   BAToDouble( byteArray, 89 );
   BAToDouble( byteArray, 97 );
   BAToDouble( byteArray, 99 );
   BAToDouble( byteArray, 107 );
   BAToDouble( byteArray, 115 );
}

/*
This example of the BitConverter.ToDouble( byte( ), int )
method generates the following output. It converts elements
of a byte array to double values.

initial byte array
------------------
00-00-00-00-00-00-00-00-F0-3F-00-00-00-00-00-E0-6F-40-00-00-
E0-FF-FF-FF-EF-41-00-00-00-00-00-00-70-3F-00-00-00-00-00-00-
F0-3D-DF-88-1E-1C-FE-74-AA-01-FA-59-8C-42-CA-C0-F3-3F-FB-59-
8C-42-CA-C0-F3-3F-FC-59-8C-42-CA-C0-F3-3F-52-D3-BB-BC-E8-7E-
3D-7E-FF-FF-FF-FF-FF-FF-EF-FF-FF-FF-FF-FF-FF-EF-7F-01-00-00-
00-00-00-00-00-F8-FF-00-00-00-00-00-00-F0-FF-00-00-00-00-00-
00-F0-7F

index             array elements                     double
-----             --------------                     ------
    0    00-00-00-00-00-00-00-00    0.0000000000000000E+000
    2    00-00-00-00-00-00-F0-3F    1.0000000000000000E+000
   10    00-00-00-00-00-E0-6F-40    2.5500000000000000E+002
   18    00-00-E0-FF-FF-FF-EF-41    4.2949672950000000E+009
   26    00-00-00-00-00-00-70-3F    3.9062500000000000E-003
   34    00-00-00-00-00-00-F0-3D    2.3283064365386963E-010
   42    DF-88-1E-1C-FE-74-AA-01    1.2345678901234500E-300
   50    FA-59-8C-42-CA-C0-F3-3F    1.2345678901234565E+000
   58    FB-59-8C-42-CA-C0-F3-3F    1.2345678901234567E+000
   66    FC-59-8C-42-CA-C0-F3-3F    1.2345678901234569E+000
   74    52-D3-BB-BC-E8-7E-3D-7E    1.2345678901234569E+300
   82    FF-FF-FF-FF-FF-FF-EF-FF   -1.7976931348623157E+308
   89    FF-FF-FF-FF-FF-FF-EF-7F    1.7976931348623157E+308
   97    01-00-00-00-00-00-00-00    4.9406564584124654E-324
   99    00-00-00-00-00-00-F8-FF                        NaN
  107    00-00-00-00-00-00-F0-FF                  -Infinity
  115    00-00-00-00-00-00-F0-7F                   Infinity
*/
// Example of the BitConverter.ToDouble method.
import System.*;

class BytesToDoubleDemo
{
    private static String formatter = "{0
,5}{1,27}{2,27:E16}";

    // Convert eight byte array elements to a double and display it.
    public static void BAToDouble(ubyte
 bytes[], int index)
    {
        double value = BitConverter.ToDouble(bytes, index);
        Console.WriteLine(formatter, (Int32)index, 
            BitConverter.ToString(bytes, index, 8), (System.Double)value);
    } //BAToDouble

    // Display a byte array, using multiple lines if necessary.
    public static void WriteMultiLineByteArray(ubyte
 bytes[])
    {
        final int rowSize = 20;
        int iter;

        Console.WriteLine("initial byte array");
        Console.WriteLine("------------------");

        for (iter = 0; iter < bytes.length - rowSize; iter+=rowSize)
 {
            Console.Write(BitConverter.ToString(bytes, iter, rowSize));
            Console.WriteLine("-");
        }
        Console.WriteLine(BitConverter.ToString(bytes, iter));
        Console.WriteLine();
    } //WriteMultiLineByteArray

    public static void main(String[]
 args)
    {
        ubyte byteArray[] = {
                            0, 0, 0, 0, 0, 0, 0, 0, 240, 63, 0, 0, 0, 0, 0,
                            224, 111, 64, 0, 0, 224, 255, 255, 255, 239, 65,
                            0, 0, 0, 0, 0, 0, 112, 63, 0, 0, 0, 0, 0, 0, 240,
                            61, 223, 136, 30, 28, 254, 116, 170, 1, 250, 89,
                            140, 66, 202, 192, 243, 63, 251, 89, 140, 66, 202,
                            192, 243, 63, 252, 89, 140, 66, 202, 192, 243, 63,
                            82, 211, 187, 188, 232, 126, 61, 126, 255, 255, 255,
                            255, 255, 255, 239, 255,255, 255, 255, 255, 255, 239
,
                            127, 1, 0, 0, 0, 0,0, 0, 0, 248, 255, 0, 0, 0, 0, 0,
                            0, 240, 255, 0,0, 0, 0, 0, 0, 240, 127
                            };
        Console.WriteLine("This example of the "
            + "BitConverter.ToDouble( byte[ ], int ) \n"
            + "method generates the following output."  
            + " It converts elements \nof a byte array to double values.\n");
        WriteMultiLineByteArray(byteArray);
        Console.WriteLine(formatter, "index", "array elements",
 "double");
        Console.WriteLine(formatter, "-----", "--------------",
 "------");

        // Convert byte array elements to double values.
        BAToDouble(byteArray, 0);
        BAToDouble(byteArray, 2);
        BAToDouble(byteArray, 10);
        BAToDouble(byteArray, 18);
        BAToDouble(byteArray, 26);
        BAToDouble(byteArray, 34);
        BAToDouble(byteArray, 42);
        BAToDouble(byteArray, 50);
        BAToDouble(byteArray, 58);
        BAToDouble(byteArray, 66);
        BAToDouble(byteArray, 74);
        BAToDouble(byteArray, 82);
        BAToDouble(byteArray, 89);
        BAToDouble(byteArray, 97);
        BAToDouble(byteArray, 99);
        BAToDouble(byteArray, 107);
        BAToDouble(byteArray, 115);
    } //main
} //BytesToDoubleDemo

/*
This example of the BitConverter.ToDouble( byte[ ], int )
method generates the following output. It converts elements
of a byte array to double values.

initial byte array
------------------
00-00-00-00-00-00-00-00-F0-3F-00-00-00-00-00-E0-6F-40-00-00-
E0-FF-FF-FF-EF-41-00-00-00-00-00-00-70-3F-00-00-00-00-00-00-
F0-3D-DF-88-1E-1C-FE-74-AA-01-FA-59-8C-42-CA-C0-F3-3F-FB-59-
8C-42-CA-C0-F3-3F-FC-59-8C-42-CA-C0-F3-3F-52-D3-BB-BC-E8-7E-
3D-7E-FF-FF-FF-FF-FF-FF-EF-FF-FF-FF-FF-FF-FF-EF-7F-01-00-00-
00-00-00-00-00-F8-FF-00-00-00-00-00-00-F0-FF-00-00-00-00-00-
00-F0-7F

index             array elements                     double
-----             --------------                     ------
    0    00-00-00-00-00-00-00-00    0.0000000000000000E+000
    2    00-00-00-00-00-00-F0-3F    1.0000000000000000E+000
   10    00-00-00-00-00-E0-6F-40    2.5500000000000000E+002
   18    00-00-E0-FF-FF-FF-EF-41    4.2949672950000000E+009
   26    00-00-00-00-00-00-70-3F    3.9062500000000000E-003
   34    00-00-00-00-00-00-F0-3D    2.3283064365386963E-010
   42    DF-88-1E-1C-FE-74-AA-01    1.2345678901234500E-300
   50    FA-59-8C-42-CA-C0-F3-3F    1.2345678901234565E+000
   58    FB-59-8C-42-CA-C0-F3-3F    1.2345678901234567E+000
   66    FC-59-8C-42-CA-C0-F3-3F    1.2345678901234569E+000
   74    52-D3-BB-BC-E8-7E-3D-7E    1.2345678901234569E+300
   82    FF-FF-FF-FF-FF-FF-EF-FF   -1.7976931348623157E+308
   89    FF-FF-FF-FF-FF-FF-EF-7F    1.7976931348623157E+308
   97    01-00-00-00-00-00-00-00    4.9406564584124654E-324
   99    00-00-00-00-00-00-F8-FF                        NaN
  107    00-00-00-00-00-00-F0-FF                  -Infinity
  115    00-00-00-00-00-00-F0-7F                   Infinity
*/
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

BitConverter.ToDouble メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



BitConverter.ToDouble メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS