Ruby 2.4.0 リファレンスマニュアル > ライブラリ一覧 > opensslライブラリ > OpenSSL::BNクラス > new
new(str, base=10) -> OpenSSL::BN
[permalink][rdoc]文字列を多倍長整数オブジェクト(OpenSSL::BN)を生成します。
base で、変換方法(基数)を指定します。デフォルトは 10 で、他に 16, 2, 0 を指定できます。
10 引数の文字列を 10進数とみなして、変換します。 16 引数の文字列を 16進数とみなして、変換します。 2 引数の文字列を big-endian の符号無し整数のバイナリ列とみなして、変換します。 0 引数の文字列を MPI形式の文字列(バイト列)とみなして、変換します。 (最初の4byteはbig-endianでデータ長を表わし、その後にそのデータ長のバイト 列(big-endian)で数値を表す。最上位ビットが立っていると負数)。
require 'openssl'
OpenSSL::BN.new("-241") # => -241
OpenSSL::BN.new("ff00",16) # => 65280
OpenSSL::BN.new("\x81",2) # => 129
OpenSSL::BN.new("\xff\x81",2) # => 65409
OpenSSL::BN.new("\x00\x00\x00\x02\x00\x81", 0) # => 129
OpenSSL::BN.new("\x00\x00\x00\x02\x80\x81", 0) # => -129
OpenSSL::BN.new(1209) # => 1209
反対に、OpenSSL::BN クラスのオブジェクトを文字列にするには、 OpenSSL::BN#to_s を用います。
[SEE_ALSO] OpenSSL::BN#to_s
new(bn) -> OpenSSL::BN
[permalink][rdoc]OpenSSL::BN を複製して返します。
new(integer) -> OpenSSL::BN
[permalink][rdoc]整数オブジェクト(Integer)から多倍長整数オブジェクト (OpenSSL::BN)を生成します。
[SEE_ALSO] Integer#to_bn