We're going to look at some ways in which binary arithmetic can be unexpectedly useful. For this problem, all numbers will be 8-bit, signed, and in 2's complement.
(a) For x = 8, compute x & (−x). (& here refers to bitwise-and, and − refers to arithmetic negation.)
(b) For x = 36, compute x & (−x).
(c) Explain what the operation x & (−x) does.
(d) In some architectures (such as the PowerPC), there is an instruction adde rX=rY,rZ, which performs the following:
rX = rY + rZ + CA
where CA is the carry flag. There is also a negation instruction, neg rX=rY which performs:
rX = 0 - rY
Both adde and neg set the carry flag. gcc (the GNU C Compiler) will often use these instructions in the following sequence in order to implement a feature of the C language:
neg r1=r0 adde r2=r1,r0
Explain, simply, what the relationship between r0 and r2 is (Hint: r2 has exactly two possible values), and what C operation it corresponds to. Be sure to show your reasoning.
Correct Answer:
Verified
Q1: Perform the following operations by converting the
Q3: This problem covers floating-point IEEE format.
(a) List
Q4: This problem covers 4-bit binary multiplication. Fill
Q5: This problem covers 4-bit binary unsigned division
Q6: Consider 2's complement 4-bit signed integer addition
Q7: What is the smallest positive (not including
Q8: The floating-point format to be used in
Q9: The floating-point format to be used in
Q10: Why is the 2's complement representation used
Q11: Prove that Sign Magnitude and One's Complement
Unlock this Answer For Free Now!
View this answer and more for free by performing one of the following actions
Scan the QR code to install the App and get 2 free unlocks
Unlock quizzes for free by uploading documents