Decimal.GetBits メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Dim d As Decimal Dim returnValue As Integer() returnValue = Decimal.GetBits(d)
- d
Decimal 値。
d のバイナリ形式を格納している 4 要素長の 32 ビット符号付き整数配列。

Decimal 数値のバイナリ表現は、1 ビットの符号、96 ビットの整数、および整数値を除算し、小数部を指定するために使用するスケール ファクタから構成されます。スケール ファクタは黙示的に数値 10 になり、0 から 28 の範囲の指数で累乗されます。
この配列の 1 ~ 3 番目の要素は、96 ビット整数の下位 32 ビット、中位 32 ビット、および上位 32 ビットをそれぞれ格納しています。
4 番目の要素は、スケール ファクタと符号を格納しています。この要素は、次に示す部分から構成されています。
ビット 0 ~ 15 の下位ワードは未使用で、0 である必要があります。
ビット 16 ~ 23 には、0 から 28 までの範囲の指数部を格納する必要があります。この指数部は、整数を除算する 10 の累乗を示します。
ビット 24 ~ 30 は未使用で、0 である必要があります。

GetBits メソッドを使用して複数の Decimal の値をバイナリ形式の等価の値に変換するコード例を次に示します。
' Example of the Decimal.GetBits method. Imports System Imports Microsoft.VisualBasic Module DecimalGetBitsDemo Const dataFmt As String = _ "{0,31} {1,10:X8}{2,10:X8}{3,10:X8}{4,10:X8}" ' Display the Decimal.GetBits argument and the result array. Sub ShowDecimalGetBits( Argument As Decimal ) Dim Bits As Integer( ) = Decimal.GetBits( Argument ) Console.WriteLine( dataFmt, Argument, _ Bits( 3 ), Bits( 2 ), Bits( 1 ), Bits( 0 ) ) End Sub Sub Main( ) Console.WriteLine( "This example of the " & _ "Decimal.GetBits( Decimal ) method " & vbCrLf & _ "generates the following output. It displays " & _ "the argument " & vbCrLf & "as a Decimal and the result " & _ "array in hexadecimal." & vbCrLf ) Console.WriteLine( dataFmt, "Argument", "Bits(3)", _ "Bits(2)", "Bits(1)", "Bits(0)" ) Console.WriteLine( dataFmt, "--------", "-------", _ "-------", "-------", "-------" ) ' Get internal bits for Decimal objects. ShowDecimalGetBits( 1D ) ShowDecimalGetBits( 100000000000000D ) ShowDecimalGetBits( 10000000000000000000000000000D ) ShowDecimalGetBits( _ Decimal.Parse( "100000000000000.00000000000000" ) ) ShowDecimalGetBits( _ Decimal.Parse( "1.0000000000000000000000000000" ) ) ShowDecimalGetBits( 123456789D ) ShowDecimalGetBits( 0.123456789D ) ShowDecimalGetBits( 0.000000000123456789D ) ShowDecimalGetBits( 0.000000000000000000123456789D ) ShowDecimalGetBits( 4294967295D ) ShowDecimalGetBits( 18446744073709551615D ) ShowDecimalGetBits( Decimal.MaxValue ) ShowDecimalGetBits( Decimal.MinValue ) ShowDecimalGetBits( -7.9228162514264337593543950335D ) End Sub End Module ' This example of the Decimal.GetBits( Decimal ) method ' generates the following output. It displays the argument ' as a Decimal and the result array in hexadecimal. ' ' Argument Bits(3) Bits(2) Bits(1) Bits(0) ' -------- ------- ------- ------- ------- ' 1 00000000 00000000 00000000 00000001 ' 100000000000000 00000000 00000000 00005AF3 107A4000 ' 10000000000000000000000000000 00000000 204FCE5E 3E250261 10000000 ' 100000000000000.00000000000000 000E0000 204FCE5E 3E250261 10000000 ' 1.0000000000000000000000000000 001C0000 204FCE5E 3E250261 10000000 ' 123456789 00000000 00000000 00000000 075BCD15 ' 0.123456789 00090000 00000000 00000000 075BCD15 ' 0.000000000123456789 00120000 00000000 00000000 075BCD15 ' 0.000000000000000000123456789 001B0000 00000000 00000000 075BCD15 ' 4294967295 00000000 00000000 00000000 FFFFFFFF ' 18446744073709551615 00000000 00000000 FFFFFFFF FFFFFFFF ' 79228162514264337593543950335 00000000 FFFFFFFF FFFFFFFF FFFFFFFF ' -79228162514264337593543950335 80000000 FFFFFFFF FFFFFFFF FFFFFFFF ' -7.9228162514264337593543950335 801C0000 FFFFFFFF FFFFFFFF FFFFFFFF
// Example of the decimal.GetBits method. using System; class DecimalGetBitsDemo { const string dataFmt = "{0,31} {1 ,10:X8}{2,10:X8}{3,10:X8}{4,10:X8}"; // Display the decimal.GetBits argument and the result array. public static void ShowDecimalGetBits( decimal Argument ) { int[ ] Bits = decimal.GetBits( Argument ); Console.WriteLine( dataFmt, Argument, Bits[ 3 ], Bits[ 2 ], Bits[ 1 ], Bits[ 0 ] ); } public static void Main( ) { Console.WriteLine( "This example of the " + "decimal.GetBits( decimal ) method \ngenerates the " + "following output. It displays the argument \nas a " + "decimal and the result array in hexadecimal.\n" ); Console.WriteLine( dataFmt, "Argument", "Bits[3]", "Bits[2]", "Bits[1]", "Bits[0]" ); Console.WriteLine( dataFmt, "--------", "-------", "-------", "-------", "-------" ); // Get internal bits for decimal objects. ShowDecimalGetBits( 1M ); ShowDecimalGetBits( 100000000000000M ); ShowDecimalGetBits( 10000000000000000000000000000M ); ShowDecimalGetBits( 100000000000000.00000000000000M ); ShowDecimalGetBits( 1.0000000000000000000000000000M ); ShowDecimalGetBits( 123456789M ); ShowDecimalGetBits( 0.123456789M ); ShowDecimalGetBits( 0.000000000123456789M ); ShowDecimalGetBits( 0.000000000000000000123456789M ); ShowDecimalGetBits( 4294967295M ); ShowDecimalGetBits( 18446744073709551615M ); ShowDecimalGetBits( decimal.MaxValue ); ShowDecimalGetBits( decimal.MinValue ); ShowDecimalGetBits( -7.9228162514264337593543950335M ); } } /* This example of the decimal.GetBits( decimal ) method generates the following output. It displays the argument as a decimal and the result array in hexadecimal. Argument Bits[3] Bits[2] Bits[1] Bits[0] -------- ------- ------- ------- ------- 1 00000000 00000000 00000000 00000001 100000000000000 00000000 00000000 00005AF3 107A4000 10000000000000000000000000000 00000000 204FCE5E 3E250261 10000000 100000000000000.00000000000000 000E0000 204FCE5E 3E250261 10000000 1.0000000000000000000000000000 001C0000 204FCE5E 3E250261 10000000 123456789 00000000 00000000 00000000 075BCD15 0.123456789 00090000 00000000 00000000 075BCD15 0.000000000123456789 00120000 00000000 00000000 075BCD15 0.000000000000000000123456789 001B0000 00000000 00000000 075BCD15 4294967295 00000000 00000000 00000000 FFFFFFFF 18446744073709551615 00000000 00000000 FFFFFFFF FFFFFFFF 79228162514264337593543950335 00000000 FFFFFFFF FFFFFFFF FFFFFFFF -79228162514264337593543950335 80000000 FFFFFFFF FFFFFFFF FFFFFFFF -7.9228162514264337593543950335 801C0000 FFFFFFFF FFFFFFFF FFFFFFFF */
// Example of the Decimal::GetBits method. using namespace System; const __wchar_t * dataFmt = L"{0,31} {1,10:X8}{2,10:X8}{3 ,10:X8}{4,10:X8}"; // Display the Decimal::GetBits argument and the result array. void ShowDecimalGetBits( Decimal Argument ) { array<int>^Bits = Decimal::GetBits( Argument ); Console::WriteLine( gcnew String( dataFmt ), Argument, Bits[ 3 ], Bits[ 2 ], Bits[ 1 ], Bits[ 0 ] ); } int main() { Console::WriteLine( "This example of the " "Decimal::GetBits( Decimal ) method \ngenerates the " "following output. It displays the argument \nas a " "Decimal and the result array in hexadecimal.\n" ); Console::WriteLine( gcnew String( dataFmt ), "Argument", "Bits[3]", "Bits[2]", "Bits[1]", "Bits[0]" ); Console::WriteLine( gcnew String( dataFmt ), "--------", "-------", "-------", "-------", "-------" ); // Get internal bits for Decimal objects. ShowDecimalGetBits( Decimal::Parse( "1" ) ); ShowDecimalGetBits( Decimal::Parse( "100000000000000" ) ); ShowDecimalGetBits( Decimal::Parse( "10000000000000000000000000000" ) ); ShowDecimalGetBits( Decimal::Parse( "100000000000000.00000000000000" ) ); ShowDecimalGetBits( Decimal::Parse( "1.0000000000000000000000000000" ) ); ShowDecimalGetBits( Decimal::Parse( "123456789" ) ); ShowDecimalGetBits( Decimal::Parse( "0.123456789" ) ); ShowDecimalGetBits( Decimal::Parse( "0.000000000123456789" ) ); ShowDecimalGetBits( Decimal::Parse( "0.000000000000000000123456789" ) ); ShowDecimalGetBits( Decimal::Parse( "4294967295" ) ); ShowDecimalGetBits( Decimal::Parse( "18446744073709551615" ) ); ShowDecimalGetBits( Decimal::MaxValue ); ShowDecimalGetBits( Decimal::MinValue ); ShowDecimalGetBits( Decimal::Parse( "-7.9228162514264337593543950335" ) ); } /* This example of the Decimal::GetBits( Decimal ) method generates the following output. It displays the argument as a Decimal and the result array in hexadecimal. Argument Bits[3] Bits[2] Bits[1] Bits[0] -------- ------- ------- ------- ------- 1 00000000 00000000 00000000 00000001 100000000000000 00000000 00000000 00005AF3 107A4000 10000000000000000000000000000 00000000 204FCE5E 3E250261 10000000 100000000000000.00000000000000 000E0000 204FCE5E 3E250261 10000000 1.0000000000000000000000000000 001C0000 204FCE5E 3E250261 10000000 123456789 00000000 00000000 00000000 075BCD15 0.123456789 00090000 00000000 00000000 075BCD15 0.000000000123456789 00120000 00000000 00000000 075BCD15 0.000000000000000000123456789 001B0000 00000000 00000000 075BCD15 4294967295 00000000 00000000 00000000 FFFFFFFF 18446744073709551615 00000000 00000000 FFFFFFFF FFFFFFFF 79228162514264337593543950335 00000000 FFFFFFFF FFFFFFFF FFFFFFFF -79228162514264337593543950335 80000000 FFFFFFFF FFFFFFFF FFFFFFFF -7.9228162514264337593543950335 801C0000 FFFFFFFF FFFFFFFF FFFFFFFF */

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からDecimal.GetBits メソッドを検索する場合は、下記のリンクをクリックしてください。

- Decimal.GetBits メソッドのページへのリンク