in general when performing bit-wise operations in c which data type should you use