EBK COMPUTER SYSTEMS
EBK COMPUTER SYSTEMS
3rd Edition
ISBN: 8220101459107
Author: O'HALLARON
Publisher: YUZU
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

Chapter 2 Solutions

EBK COMPUTER SYSTEMS

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