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
Please use C++ In this lab, you need to write a program which, given a seven digit binary input given below, it will check to see if there is a single bit error using the Hamming Code method discussed in lab. For a sample of Hamming Code, the input: 1110101 will reveal that ‘110’ is the location of the error (meaning the sixth slot in the input), so the corrected number would be 1010101, and the actual message transmitted, would be 1011, which is 11 in decimal. You can use this example to test your program to ensure it’s working correctly. Create a program which can, given a 7-bit long input, written in Hamming Code style, do the three following tasks, displaying the results as output.             (1) Determine if there’s an incorrect bit, and if so, where it is.             (2) Display what the CORRECT code should look like (if it needs to be corrected.)             (3) Display the decimal form of the message that was sent, after any needed correction. Remember, when using Hamming…
Use a Windows programme that applies these operators to a pair of values to illustrate how the bitwise operators in C# operate. To interact with the bitwise operators, we'll make use of the ConvertBits function that was previously built.
I'm struggling with homework problems from System Programming :( Please help me with this question for me with explanations :) Write C expressions that evaluate to 1 when the following conditions are ture and to 0 when they are false. Assume x is of type int. A. Any bit of x equals 1. B. Any bit of y equals 0. C. Any bit in the most significant byte of x equals 1. D. Any bit in the least significant byte of x equals 0. The code should follow the bit-level integer coding rules and must not use equality (==) or inequality (!=) tests. Thank you in advance!

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
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education