2.71 Xbyte
★
Problem:
You just started working for a company that is implementing a set of procedures to operate on a data structure where 4 signed bytes are packed into a 32-bit unsigned
. Bytes within the word are numbered from 0 (least significant) to 3 (most significant). You have been assigned the task of implementinig a function for a machine using two's-complement arithmetic and arithmetic right shifts with the following prototype:
That is, the function will extract the designated byte and sign extend it to be a 32-bit int
.
Your predecessor(who was fired for incompetence) wrote the following code:
A. What is wrong with this code?
This code can't extract negative number from word.
B. Give a correct implementation of the function that uses only left and right shifts, along with one subtraction.
Code:
Last updated