bit manipulation
Integer extensions