но не входящее в диапазон знаковых, будет представлено отрицательным числом?
Просто если да, то почему бы просто не так? # let unit32_of_string str = match str.[0] with | '-' -> failwith "uint32_of_string" | _ -> Int32.of_string str ;; # let x = unit32_of_string "0u2147483648" in Int32.(sub x one) ;; - : int32 = 2147483647l Только не забывать беззнаковое деление и сравнение использовать.
я уже накостылил себе поддержку знаковых и беззнаковых чисел 8, 16, 32, 64 и 128 бит со всеми операциями. просто нужно было добавить ещё поддержку систем счисления. накостылил также через FFI с сишкой.
Such is the life in the OCaml zone…
Обсуждают сегодня