oboy/src/bit.ml

13 lines
241 B
OCaml

let is_set num i =
if i < 0 then
failwith "Invalid bit index."
else
(num lsr i) land 0b00000001 <> 0
let two_complement n =
(lnot n) + 1
let signed_byte n =
if n land 0x80 <> 0 then -((two_complement n) land 0xFF)
else n