16進数から10進数の変換
Posted feedbacks - Ruby
String#hex メソッドで変換ができます。 標準入力から入力された値を変換する場合には、以下のようにすればできます。
1 | p ARGV.map{|s|s.hex}
|
Rubyでは数値リテラルとして16進整数表現があるので、そのまま文字列をevalすれば望む値が得られます。出力も文字列という出題なので、to_sで文字列にしています。
ちなみにRuby自体には「最大の整数」という制限はなく、メモリの許す限り大きな整数を扱うことができます。
see: Integer - Rubyリファレンスマニュアル
1 2 | p eval("0x12437308CCB6").to_s #=> "20080902065334"
p eval("0x2C9C1227FC6520B").to_s #=> "200904012311450123"
|


shojiHIDAKA #8955() Rating1/1=1.00
16進数を10進数に変換してください。
ただし、入出力は文字列とし、次の変換は最低必ずできなければいけないこととします。
2.0x2C9C1227FC6520B →200904012311450123
あわせて、扱える最大の整数も明らかにしてください。
[ reply ]