This exercise is about the bit-wise operators in C. Complete each function skeleton using only straight-line code (i.e., no loops, conditionals, or function calls) and limited of C arithmetic and logical C operators. Specifically, you are only allowed to use the following eight operators: ! ∼, &,ˆ|, + <<>>. For more details on the Bit-Level Integer Coding Rules on p. 128/129 of the text. A specific problem may restrict the list further: For example, to write a function to compute the bitwise xor of x and y, only using & |, ∼ int bitXor(int x, int y) { return ((x&∼y) | (∼x & y));} (a) /* copyLSbit:Set all bits of result to least significant bit of x * Example: copyLSB(5) = 0xFFFFFFFF, copyLSB(6) = 0x00000000 * Legal ops: ! ∼ & ˆ| + <<>> */ int copyLSbit(int x) { return 2;} (b) /* negate - return -x * Example: negate(1) = -1. * Legal ops:! ∼ & ˆ| + <<>> */ int negate(int x) { return 2; } (c) /* isEqual - return 1 if x == y, and 0 otherwise * Examples: isEqual(5,5) = 1, isEqual(4,5) = 0 * Legal ops: ! ∼ & ˆ| + <<>> */ int isEqual(int x, int y) { return 2; } (d) /* twoCmax: return maximum two’s complement integer Legal ops: ! ∼ & ˆ| + <<>>int twoCmax(void) { return 2; }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

This exercise is about the bit-wise operators in C. Complete each function
skeleton using only straight-line code (i.e., no loops, conditionals, or function
calls) and limited of C arithmetic and logical C operators. Specifically, you
are only allowed to use the following eight operators: ! ∼, &,ˆ|, + <<>>.
For more details on the Bit-Level Integer Coding Rules on p. 128/129 of the
text. A specific problem may restrict the list further: For example, to write
a function to compute the bitwise xor of x and y, only using & |, ∼
int bitXor(int x, int y)
{ return ((x&∼y) | (∼x & y));}
(a) /*
copyLSbit:Set all bits of result to least significant bit of x
* Example: copyLSB(5) = 0xFFFFFFFF, copyLSB(6) = 0x00000000
* Legal ops: ! ∼ & ˆ| + <<>>
*/
int copyLSbit(int x) {
return 2;}
(b) /* negate - return -x
* Example: negate(1) = -1.
* Legal ops:! ∼ & ˆ| + <<>>
*/ int negate(int x) { return 2; }
(c) /* isEqual - return 1 if x == y, and 0 otherwise
* Examples: isEqual(5,5) = 1, isEqual(4,5) = 0
* Legal ops: ! ∼ & ˆ| + <<>>
*/ int isEqual(int x, int y) { return 2; }
(d) /* twoCmax: return maximum two’s complement integer
Legal ops: ! ∼ & ˆ| + <<>>int twoCmax(void)
{ return 2; }

int bitXor(int x, int y)
{ return ((x&~y) | (~x & y));}
(a) /*
copyLSbit:Set all bits of result to least significant bit of x
* Example: соpyLSB (5)
* Legal ops:
*/
= OXFFFFFFFF, copyLSB(6) = 0x00000000
| + <<>>
!
int copyLSbit(int x) {
return 2;}
(b) /* negate
* Example: negate(1)
* Legal ops:!
*/ int negate(int x) { return 2; }
return -x
= -1.
| + <<>>
(c) /* isEqual - return 1 if x ==
* Examples: isEqual(5,5)
* Legal ops:
*/ int isEqual(int x, int y) { return 2; }
y, and 0 otherwise
1, isEqual(4,5) = 0
!
| + <<>>>
(d) /* twoCmax:
return maximum two’s complement integer
Legal ops:
int twotmax(void)
| + <<>>
&
{ return 2; }
Transcribed Image Text:int bitXor(int x, int y) { return ((x&~y) | (~x & y));} (a) /* copyLSbit:Set all bits of result to least significant bit of x * Example: соpyLSB (5) * Legal ops: */ = OXFFFFFFFF, copyLSB(6) = 0x00000000 | + <<>> ! int copyLSbit(int x) { return 2;} (b) /* negate * Example: negate(1) * Legal ops:! */ int negate(int x) { return 2; } return -x = -1. | + <<>> (c) /* isEqual - return 1 if x == * Examples: isEqual(5,5) * Legal ops: */ int isEqual(int x, int y) { return 2; } y, and 0 otherwise 1, isEqual(4,5) = 0 ! | + <<>>> (d) /* twoCmax: return maximum two’s complement integer Legal ops: int twotmax(void) | + <<>> & { return 2; }
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Binary numbers
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education