Я после int_of_string_opt сравнивал знак числа с первым символом строки, немного костыльно получается правда
utop # Int32.of_string "-0u2147483649" ;; - : int32 = 2147483647l utop # Int32.of_string "-2147483649" ;; Exception: Failure "Int32.of_string". И вот такое тоже возможно, если что
но это только знак проверяет же. у беззнакового int32 больше диапазон положительных чисел, чем у знакового int32
Обсуждают сегодня