16進数の文字列を32ビット符号付き整数に変換するにはどうすればよいですか?例えば は16進数の文字列をRubyで符号付き整数に変換する
a = "fb6d8cf1" #hex string
[a].pack('H*').unpack('l') #from the documentation it unpacks to its 32 bit signed int
それは
-242455045
に変換しかし、実際の答えは
-76706575
あなたは私が間違っているのものに私を指すもらえますか?
コードが負の数のために働くこれは、所望の結果を提供します。ありがとう。しかし、正の数値では失敗します。たとえば、 "038a67f90"は950435728と表示されますが、実際の値は59402233 –