Computer Systems: A Programmer's Perspective (3rd Edition)
Computer Systems: A Programmer's Perspective (3rd Edition)
3rd Edition
ISBN: 9780134092669
Author: Bryant, Randal E. Bryant, David R. O'Hallaron, David R., Randal E.; O'Hallaron, Bryant/O'hallaron
Publisher: PEARSON
Expert Solution & Answer
Book Icon
Chapter 2, Problem 2.61HW

A.

Explanation of Solution

C expression for given statement:

The C expression for any bit of “x” equals “1” is shown below.

Expression: !~x

Program:

For the above expression “!~x”, a complete program has been developed in the below section:

//Header file

#include <stdio.h>

#include <assert.h>

//Function definition "A" statement

int partA(int x)

{

/* Returns "1" if any bits of "x" equals "1" by using expression "!~x" */

return !~x;

}

//Main function

int main(int argc, char* argv[])

{

//Assign all bit is "1"

int allBit1 = ~0;

//Assign all bit is "0"

int allBit0 = 0;

/* Call partA function with "alllBit1" using "assert" function */

assert(partA(allBit1));

/* Call partA function with "alllBit0" using "assert" function */

assert(!partA(allBit0));

/* Call partA function with number "0x1234FF" using "assert" function */

assert(!partA(0x1234FF));

return 0;

}

From the given code,

  • Define the function for “partA()”
    • In this function, returns “1” if any bits of “x” equals “1” by using the expression “!~x”...

B.

Explanation of Solution

C expression for given statement:

The C expression for any bit of “x” equals “0” is shown below.

Expression: !x

Program:

For the above expression “!x”, a complete program has been developed in the below section:

//Header file

#include <stdio.h>

#include <assert.h>

//Function definition "B" statement

int partB(int x)

{

/* Returns "1" if any bits of "x" equals "0" by using expression "!x" */

return !x;

}

//Main function

int main(int argc, char* argv[])

{

//Assign all bit is "1"

int allBit1 = ~0;

//Assign all bit is "0"

int allBit0 = 0;

/* Call partB function with "alllBit1" using "assert" function */

assert(!partB(allBit1));

/* Call partB function with "alllBit0" using "assert" function */

assert(partB(allBit0));

/* Call partB function with number "0x1234FF" using "assert" function */

assert(!partB(0x1234FF));

return 0;

}

From the given code,

  • Define the function for “partB()”
    • In this function, returns “1” if any bits of “x” equals “0” by using the expression “!x”.
  • Define the main function
    • In this function, assign “~0” in variable “allBit1”...

C.

Explanation of Solution

C expression for given statement:

The C expression for any bit in the least significant byte of “x” equals “1” is shown below.

Expression: !~(x | ~0xff)

Program:

For the above expression “!~(x | ~0xff)”, a complete program has been developed in the below section:

//Header file

#include <stdio.h>

#include <assert.h>

//Function definition "A" statement

int partA(int x)

{

/* Returns "1" if any bits of "x" equals "1" by using expression "!~x" */

return !~x;

}

//Function definition "C" statement

int partC(int x)

{

/* Returns "1" if any bits in the least significant byte of "x" equals "1" by calling the function "partA" with "x | ~0xff" */

return partA(x | ~0xff);

}

//Main function

int main(int argc, char* argv[])

{

//Assign all bit is "1"

int allBit1 = ~0;

//Assign all bit is "0"

int allBit0 = 0;

/* Call partC function with "alllBit1" using "assert" function */

assert(partC(allBit1));

/* Call partC function with "alllBit0" using "assert" function */

assert(!partC(allBit0));

/* Call partC function with number "0x1234FF" using "assert" function */

assert(partC(0x1234ff));

return 0;

}

From the given code,

  • Define the function for “partA()”
    • In this function, returns “1” if any bits of “x” equals “1” by using the expression “!~x”...

D.

Explanation of Solution

C expression for given statement:

The C expression for any bit in the least significant byte of “x” equals “0” is shown below.

Expression: !((x >> ((sizeof(int)-1) << 3)) & 0xff)

Program:

For the above expression “!((x >> ((sizeof(int)-1) << 3)) & 0xff)”, a complete program has been developed in the below section:

//Header file

#include <stdio.h>

#include <assert.h>

//Function definition "B" statement

int partB(int x)

{

/* Returns "1" if any bits of "x" equals "0" by using expression "!x" */

return !x;

}

//Function definition "D" statement

int partD(int x)

{

/* Returns "1" if any bits in the least significant byte of "x" equals "0" by calling the function "partB" with "x >> ((sizeof(int)-1) << 3)) & 0xff" */

return partB((x >> ((sizeof(int)-1) << 3)) & 0xff);

}

//Main function

int main(int argc, char* argv[])

{

//Assign all bit is "1"

int allBit1 = ~0;

//Assign all bit is "0"

int allBit0 = 0;

/* Call partB function with "alllBit1" using "assert" function */

assert(!partD(allBit1));

/* Call partB function with "alllBit0" using "assert" function */

assert(partD(allBit0));

/* Call partB function with number "0x1234FF" using "assert" function */

assert(partD(0x1234ff));

return 0;

}

From the given code,

  • Define the function for “partB()”
    • In this function, returns “1” if any bits of “x” equals “0” by using the expression “!x”...

Blurred answer
Students have asked these similar questions
Perform the following using DEV-C++ Show your solution Write a program that determines a student’s grade. It reads four test scores (between0 and 100) and calculates the grade based on the following rules: If the average score is 90 or more, the grade is ‘A’. If the average score is between 80 and 90, the grade is ‘B’. If the average score is between 70 and 80, the grade is ‘C’. If the average score is between 60 and 70, the grade is ‘D’. If the average score is less than 60, the grade is ‘F’.
I'm getting this error for the above code
المزيد ... التقويم :what is the value of x according to the calculation .4 x = (4 + 2 * 3) + (16/4 + 1) (3 + 8)/4 * (2 نقطة) Apply rules of precedence and show your work أدخل إجابتك النشار

Chapter 2 Solutions

Computer Systems: A Programmer's Perspective (3rd Edition)

Ch. 2.1 - Prob. 2.11PPCh. 2.1 - Prob. 2.12PPCh. 2.1 - Prob. 2.13PPCh. 2.1 - Prob. 2.14PPCh. 2.1 - Prob. 2.15PPCh. 2.1 - Prob. 2.16PPCh. 2.2 - Prob. 2.17PPCh. 2.2 - Practice Problem 2.18 (solution page 149) In...Ch. 2.2 - Prob. 2.19PPCh. 2.2 - Prob. 2.20PPCh. 2.2 - Prob. 2.21PPCh. 2.2 - Prob. 2.22PPCh. 2.2 - Prob. 2.23PPCh. 2.2 - Prob. 2.24PPCh. 2.2 - Prob. 2.25PPCh. 2.2 - Practice Problem 2.26 (solution page 151) You are...Ch. 2.3 - Prob. 2.27PPCh. 2.3 - Prob. 2.28PPCh. 2.3 - Prob. 2.29PPCh. 2.3 - Practice Problem 2.30 (solution page 153) Write a...Ch. 2.3 - Prob. 2.31PPCh. 2.3 - Practice Problem 2.32 (solution page 153) You are...Ch. 2.3 - Prob. 2.33PPCh. 2.3 - Prob. 2.34PPCh. 2.3 - Practice Problem 2.35 (solution page 154) You are...Ch. 2.3 - Prob. 2.36PPCh. 2.3 - Practice Problem 2.37 solution page 155 You are...Ch. 2.3 - Prob. 2.38PPCh. 2.3 - Prob. 2.39PPCh. 2.3 - Practice Problem 2.40 (solution page 156) For each...Ch. 2.3 - Prob. 2.41PPCh. 2.3 - Practice Problem 2.42 (solution page 156) Write a...Ch. 2.3 - Practice Problem 2.43 (solution page 157) In the...Ch. 2.3 - Prob. 2.44PPCh. 2.4 - Prob. 2.45PPCh. 2.4 - Prob. 2.46PPCh. 2.4 - Prob. 2.47PPCh. 2.4 - Prob. 2.48PPCh. 2.4 - Prob. 2.49PPCh. 2.4 - Prob. 2.50PPCh. 2.4 - Prob. 2.51PPCh. 2.4 - Prob. 2.52PPCh. 2.4 - Practice Problem 2.53 (solution page 160) Fill in...Ch. 2.4 - Practice Problem 2.54 (solution page 160) Assume...Ch. 2 - Compile and run the sample code that uses...Ch. 2 - Try running the code for show_bytes for different...Ch. 2 - Prob. 2.57HWCh. 2 - Write a procedure is_little_endian that will...Ch. 2 - Prob. 2.59HWCh. 2 - Prob. 2.60HWCh. 2 - Prob. 2.61HWCh. 2 - Write a function int_shifts_are_arithmetic() that...Ch. 2 - Fill in code for the following C functions....Ch. 2 - Write code to implement the following function: /...Ch. 2 - Write code to implement the following function: /...Ch. 2 - Write code to implement the following function: / ...Ch. 2 - You are given the task of writing a procedure...Ch. 2 - Prob. 2.68HWCh. 2 - Write code for a function with the following...Ch. 2 - Write code for the function with the following...Ch. 2 - You just started working for a company that is...Ch. 2 - You are given the task of writing a function that...Ch. 2 - Write code for a function with the following...Ch. 2 - Write a function with the following prototype: /...Ch. 2 - Prob. 2.75HWCh. 2 - The library function calloc has the following...Ch. 2 - Prob. 2.77HWCh. 2 - Write code for a function with the following...Ch. 2 - Prob. 2.79HWCh. 2 - Write code for a function threefourths that, for...Ch. 2 - Prob. 2.81HWCh. 2 - Prob. 2.82HWCh. 2 - Prob. 2.83HWCh. 2 - Prob. 2.84HWCh. 2 - Prob. 2.85HWCh. 2 - Intel-compatible processors also support an...Ch. 2 - Prob. 2.87HWCh. 2 - Prob. 2.88HWCh. 2 - We are running programs on a machine where values...Ch. 2 - You have been assigned the task of writing a C...Ch. 2 - Prob. 2.91HWCh. 2 - Prob. 2.92HWCh. 2 - following the bit-level floating-point coding...Ch. 2 - Following the bit-level floating-point coding...Ch. 2 - Following the bit-level floating-point coding...Ch. 2 - Following the bit-level floating-point coding...Ch. 2 - Prob. 2.97HW
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning