Print float in binary

Write a program to print float numbers in binary.

#include<stdio.h>
void Print_Float_Num_inBinary_by_CharPointer(float);
void Print_Float_Num_inBinary_by_IntPointer(float);
int main()
{
	float num;
	printf("Enter a Float Number = ");
	scanf("%f",&num);
	Print_Float_Num_inBinary_by_CharPointer(num);
	//Print_Float_Num_inBinary_by_IntPointer(num);
	return 0;
}
void Print_Float_Num_inBinary_by_CharPointer(float n)
{
	int i;
	char *cp;
	printf("\n32 Bit Binary Representation of a Float Number\n");
	cp = &n;
	for(cp = cp+3;cp>=&n;cp--)
	{
		for(i = 7;i >= 0;i--)
		{
			printf("%d",(*cp) >> i & 1);
		}
		printf(" ");
	}
	printf("\n\n");
}
void Print_Float_Num_inBinary_by_IntPointer(float n)
{
	int i,*ip;
	printf("\n32 Bit Binary Representation of a Float Number\n");
	ip = &n;
	for(i = 31;i >= 0;i--)
	{
		printf("%d",(*ip) >> i & 1);
		if(!(i%8))
			printf(" ");
	}
	printf("\n\n");
}

Output

Enter a Float Number = 2.5
32 Bit Binary Representation of a Float Number
01000000 00100000 00000000 00000000
Enter a Float Number = 22.5
32 Bit Binary Representation of a Float Number
01000001 10110100 00000000 00000000