Ocaml int для преобразования двоичной строки - PullRequest
6 голосов
/ 19 марта 2012

Какой самый простой способ конвертировать из Int32 в двоичный файл? Например: -1 -> "\ 255 \ 255 \ 255 \ 255"?

Edit: Чтобы использовать extlib, установите его с yum и на верхнем уровне:

#use "topfind";;
#require "extlib";;

Ответы [ 2 ]

8 голосов
/ 19 марта 2012

Я бы предложил использовать Bitstring для такого рода вещей.Вы можете найти его здесь .

Например, на верхнем уровне:

# #use "topfind";;
# #camlp4o;;
# #require "unix";;
# #require "bitstring.syntax" ;;
# let data = Int32.of_int (-1);;
# let bits = BITSTRING { data: 32 } ;;

, тогда вы можете выполнять различные преобразования цепочки битов, включая запись ее в двоичный файл.или в стандартный вывод или в строку:

# Bitstring.string_of_bitstring bits ;;
- : string = "\255\255\255\255"
3 голосов
/ 20 марта 2012

Использование extlib :

# let io = IO.output_string ();;
val io : string IO.output = <abstr>
# IO.write_i32 io (-1);;
- : unit = ()
# IO.close_out io;;
- : string = "\255\255\255\255"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...