C / C ++ contando o número de casas decimais?

Vamos dizer que a entrada do usuário é um número decimal, ex. 52155 (com 4 dígitos decimais). Pode ser armazenado livremente (int, double) etc.

Existe alguminteligente (ou muito simples) maneira de descobrir quantos decimais o número tem? (tipo a pergunta como você acha que um número é par ou ímpar mascarando o último bit).