我有十六進制數據我必須轉換爲64有符號的十進制數據..所以我認爲有這樣的follwoing步驟。 1.hexadecimal二進制, 而不是寫我自己的代碼轉換I M使用在這個環節http://necrobious.blogspot.com/2008/03/binary-to-hex-string-back-to-binary-in.html十六進制到64有符號十進制
bin_to_hexstr(Bin) ->
lists:flatten([io_lib:format("~2.16.0B", [X]) ||
X <- binary_to_list(Bin)]).
hexstr_to_bin(S) ->
hexstr_to_bin(S, []).
hexstr_to_bin([], Acc) ->
list_to_binary(lists:reverse(Acc));
hexstr_to_bin([X,Y|T], Acc) ->
{ok, [V], []} = io_lib:fread("~16u", [X,Y]),
hexstr_to_bin(T, [V | Acc]).
2.binary爲十進制定的代碼, 如何實現這一目標的一部分。?
或任何其他方式來實現hexdecimal - > 64個符號十進制數據
thanx提前
thanx您answer..its什麼,我need..but我還有一個疑問,很好的交代,因爲這個十六進制值3fc2d175e1028b9a,如果在PHP我寫的代碼它給4594464874087746458 64十進制值,但當你做同樣的事情時,你已經說過hex_to_bin(Str) - ><< <<(erlang:list_to_integer([H],16)):4 >> || H <- Str >>。 它給出了<< 63,194,209,117,225,2,139,154 >>,所以對此的任何解釋都請告訴我這是什麼錯誤。 – Abhimanyu 2009-06-09 04:14:38