i writen the program for printing the number in binary format

Code:
#include<stdio.h>
int main()
{
float number;
printf("enter the value of number\n");
scanf("%f",&number);
printf("the value of number in binary format is : ");
do
{
if(number & 01) 
{
printf("1");
}
else
{
printf("0");
}
number>>=1;
}while(number !=0);
printf("\n");
return 0;
}
if i change the above program int to float or double or longdouble , i getting the error as

4.c:10: error: invalid operands to binary &
4.c:18: error: invalid operands to binary >>


any one let me know why i getting this error while i changed from int to float?