This is what I have done so far I am stuck and confused and need help with the next section in the image This code is in C #include int main(void) {               void printBin(int  n) {  unsigned  i;  for (i = 1 << 31; i > 0; i = i / 2)   (n & i) ? printf("1") : printf("0"); }        printBin(17);  printf("\n");  printBin(4);                  unsigned int x = 0x76543210;   char *c = (char*) &x;     printf ("*c is: 0x%x\n", *c);   if (*c == 0x10)   {     printf ("Architecture is little endian. \n");   }   else   {      printf ("Architecture is big endian. \n");   }     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

This is what I have done so far I am stuck and confused and need help with the next section in the image This code is in C

#include <stdio.h>
int main(void)
{
    
      
  void printBin(int  n)
{
 unsigned  i;
 for (i = 1 << 31; i > 0; i = i / 2)
  (n & i) ? printf("1") : printf("0");
}
  
  
 printBin(17);
 printf("\n");
 printBin(4);
 
  
    
    
  unsigned int x = 0x76543210;
  char *c = (char*) &x;
 
  printf ("*c is: 0x%x\n", *c);
  if (*c == 0x10)
  {
    printf ("Architecture is little endian. \n");
  }
  else
  {
     printf ("Architecture is big endian. \n");
  }
 
  return 0;
 
}

3b. Printing floating point parts
Define a method void printSingle(float f) that will print the parts of the floating point number as distinct values.
A typical output should look like:
For value 3.5, sign=0 exp =128, fraction=11000000000000000000000
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, you could say
int i;
*(float *)&i = f;
To print a floating point number in printf, you typically use %f.
answer the following questions about this program:
• 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:3b. Printing floating point parts Define a method void printSingle(float f) that will print the parts of the floating point number as distinct values. A typical output should look like: For value 3.5, sign=0 exp =128, fraction=11000000000000000000000 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, you could say int i; *(float *)&i = f; To print a floating point number in printf, you typically use %f. answer the following questions about this program: • 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 3 steps with 1 images

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