#include struct Single {     int num; };   void printSingle(int f) {     int binaryNum[33];     int i = 0;     while(f>0)     {         binaryNum[i] = f % 2;         f = f/2;         i++;     }     for (int j=i-1; j>= 0; j--)     {         printf("%d",binaryNum[j]);     } }   int main() {     struct Single single;     single.num = 33;     printf("Number: %d\n",single.num);     printSingle(single.num);     return 0; }

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

The code I have given is the code that was required for these sections Which I have finished 

 

 I just need help with the highlighted bullet points sections so what I really need help with is understanding why I had to do the code in this way 



#include <stdio.h>

struct Single

{

    int num;

};

 

void printSingle(int f)

{

    int binaryNum[33];

    int i = 0;

    while(f>0)

    {

        binaryNum[i] = f % 2;

        f = f/2;

        i++;

    }

    for (int j=i-1; j>= 0; j--)

    {

        printf("%d",binaryNum[j]);

    }

}

 

int main()

{

    struct Single single;

    single.num = 33;

    printf("Number: %d\n",single.num);

    printSingle(single.num);

    return 0;

}

P.1 Floating-point struct
Define a struct Single that describes the bit layout for a single-precision floating-point
number.
You will need to use bit fields in the struct. Notice that you need to consider little-endian
vs. big-endian.
Why does endian matter here and not for part 2?
P.2 Printing floating-point parts
Define a method called void printSingle(float f) that will print the parts of the
floating-point number as distinct values.
To place the float into the struct, use a pointer cast or a union. For example, using a
pointer cast to interpret the bits of a floating-point number as an integer
To print a floating-point number in printf, you typically use %f.
• Describe how pointer casting works to get the value into a different format.
Describe how you could break apart a floating-point number into parts using
bitwise operators? Would that care about endian?
Transcribed Image Text:P.1 Floating-point struct Define a struct Single that describes the bit layout for a single-precision floating-point number. You will need to use bit fields in the struct. Notice that you need to consider little-endian vs. big-endian. Why does endian matter here and not for part 2? P.2 Printing floating-point parts Define a method called void printSingle(float f) that will print the parts of the floating-point number as distinct values. To place the float into the struct, use a pointer cast or a union. For example, using a pointer cast to interpret the bits of a floating-point number as an integer To print a floating-point number in printf, you typically use %f. • Describe how pointer casting works to get the value into a different format. Describe how you could break apart a floating-point number into parts using bitwise operators? Would that care about endian?
Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY