C language can only use integer constants for bit operations, which is the limitation of this language and has nothing to do with computers. It is also possible if it is designed to allow other types of data to perform bit operations. Just because of the particularity of data storage mode, other types of data are not suitable for bit operation because of their lack of understandability and implementation efficiency.
You can check how the float type is stored in memory (somewhat similar to the scientific counting method), and you will understand why it is not good to perform bit operation on it.