I understand what is RBM. I also accept that in binary RBM, states of RBM are binary. Is that also means the input datasets should be binary?
Typically the hidden units in an RBM are binary (though not always), so when people talk about things like binary RBMs or Gaussian RBMs without further qualification, I normally assume they are referring to the visible units only and the hidden units are binary.
That being said, even if the visible units are binary this doesn't people always use binary input data. For example, in all the MNIST examples out there, people will typically treat the greyscale value (between 0 and 1) as a probability and use that as input rather than thresholding or sampling to get actual binary data.