Don't assume that I'm making an assumption. Each bit in the result should be set if and only if each of the corresponding bits in the converted operands is set. Sign bits are included in this internal representation. This is irrelevant to the fact that a value outside of the range produces unexpected results.

Code:
alias bin {
  var %x = 1, %s = $null
  while (%x < $1) {
    %s = $+($iif($and($1,%x),1,0),%s)
    %x = %x * 2
  }
  return %s
}
//echo $bin(4294967295) == $bin(4294967296) == $bin(4294967297) == ...