multiply with bit manipulation