use `>= 0.5` instead of `> 0.5` on randBool

`random()` lower-bound is zero inclusive and upper-bound is one exclusive; and
`0.5` usually rounds up.
reuse `randBool` on `randBit` and `randSign`