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