C Programming - Floating Point Issues - Discussion

Discussion Forum : Floating Point Issues - General Questions (Q.No. 3)
3.
If the binary eauivalent of 5.375 in normalised form is 0100 0000 1010 1100 0000 0000 0000 0000, what will be the output of the program (on intel machine)?
#include<stdio.h>
#include<math.h>
int main()
{
    float a=5.375;
    char *p;
    int i;
    p = (char*)&a;
    for(i=0; i<=3; i++)
        printf("%02x\n", (unsigned char)p[i]);
    return 0;
}
40 AC 00 00
04 CA 00 00
00 00 AC 40
00 00 CA 04
Answer: Option
Explanation:
No answer description is available. Let's discuss.
Discussion:
117 comments Page 8 of 12.

Yash said:   1 decade ago
Someone is asked why we taking 2 byte not 1 byte like 00 00 AC 40 not like 00 CA 04 because processors work on hexadecimal no on octal. So we take 2 byte or 16 bit instead of 1 byte or 8 bit.

@ Preethi
Thank you very much.

Nisha said:   1 decade ago
Thanks preethi.

Loveneet said:   1 decade ago
Thank you very much preety.

Prabhjot said:   1 decade ago
Thank you preethi.

Nandhini said:   1 decade ago
Thanks preethi.

Shareen said:   1 decade ago
Thank you preethi for your clear explanation.

Divya said:   1 decade ago
Preethi is correct.

Hajmal deen said:   1 decade ago
Preethi is correct, but I can't understand, so explain clearly. Please do the needful.

Divya said:   1 decade ago
@ Hajmal

They gave the binary equivalent of 5.375 in normal form

0100 -> 4
0000 -> 0

1010 -> A
1100 -> C

0000 -> 0
0000 -> 0

0000 -> 0
0000 -> 0

Malathi said:   1 decade ago
Thank you preethi and pradeep.


Post your comments here:

Your comments will be displayed after verification.