10.07.2015 Views

CS-281, Fall 2011 Data Lab: Manipulating Bits Assigned: Aug. 29, Due

CS-281, Fall 2011 Data Lab: Manipulating Bits Assigned: Aug. 29, Due

CS-281, Fall 2011 Data Lab: Manipulating Bits Assigned: Aug. 29, Due

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ditionals) and a limited number of C arithmetic and logical operators. Specifically, you are only allowed touse the following eight operators:! ˜ & ˆ | + >A few of the functions further restrict this list; you can see the legal operators in the comments for eachfunction in bits.c. Also, you are not allowed to use any constants longer than 8 bits. See the commentsin bits.c for detailed rules and a discussion of the desired coding style.4 The PuzzlesThis section describes the puzzles that you will be solving in bits.c.4.1 Bit ManipulationsTable 1 describes a set of functions that manipulate and test sets of bits. The “Rating” field gives thedifficulty rating (the number of points) for the puzzle, and the “Max ops” field gives the maximum numberof operators you are allowed to use to implement each function. See the comments in bits.c for moredetails on the desired behavior of the functions. You may also refer to the test functions in tests.c. Theseare used as reference functions to express the correct behavior of your functions, although they don’t satisfythe coding rules for your functions.Name Description Rating Max OpsallEven<strong>Bits</strong>(x) return 1 iff all even numbered bits of x are set. 2 12bitMask(x,y) Yield mask of all 1s from bits x to y. 3 16bitXor(x,y) Compute xˆy using only ˜ and &. 1 14copyLSB() Generate word with all bits same as lsb of x. 2 5implication(x,y) Return propositional logic x ⇒ y. 2 5replaceByte(x,n,c) Replace byte n in x with c. 3 10Table 1: Bit-Level Manipulation Functions.4.2 Two’s Complement ArithmeticTable 2 describes a set of functions that make use of the two’s complement representation of integers. Again,refer to the comments in bits.c and the reference versions in tests.c for more information.5 EvaluationYour score will be computed out of a maximum of 62 points based on the following distribution:2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!