1. Engineering
  2. Computer Science
  3. single bit adders the following questions concern the results of...

Question: single bit adders the following questions concern the results of...

Question details
---Single Bit Adders---

The following questions concern the results of an adder that operates
over single bits, including a carry bit.  Give the results for the addition,
along with the carry bit, separated by a semicolon.  For example:

1.) What is 1 + 1 without a carry bit?
1.answer)
0;1

2.) What is 0 + 0 without a carry bit?
2.answer)
0;0

3.) What is 1 + 1 with a carry bit?
3.answer)


4.) What is 1 + 0 with a carry bit?
4.answer)


5.) What is 0 + 0 with a carry bit?
5.answer)



---Binary Addition Over Multiple Bits---

Tell the results of the following binary addition operations on twos complement
integers. Truncate the answer to 8 bits. For each one, make sure you identify
whether they created an overflow, a carry, or both.  For an overflow, put a
capital V.  For a carry, put a capital C.  If both, put VC.  Place this
information after the 8-bit answer, separated by a space.  For example:

6.) What is
    00101001
   +11101001?
6.answer)
00010010 C

7.) What is
    10010001
   +01100110?
7.answer)


8.) What is
    11011011
   +01100011?
8.answer)


9.) What is
    00111101
   +10110001?
9.answer)


10.) What is
     10111101
    +10000001?
10.answer)



---Negating (i.e. making negative) Binary Numbers in Twos Complement---

For each of the following binary numbers, specify the negated value in binary.
For this to work out, we need to negate using twos complement - flip all the
bits and add 1.  For example:

00110011 original
11001100 all bits flipped
11001101 add 1

For these problems, just report the final negated value, not the intermediate
step.

11.) What is the negated version of:
     01101101?
11.answer)


12.) What is the negated version of:
     11001001?
12.answer)


13.) What is the negated version of:
     11100100?
13.answer)



---Subtracting Binary Numbers in Twos Complement---

The following problems ask you to subtract one binary number from another.
While this can be done directly, it is typically easier to negate the second number
(using the technique you used for problems 11 - 13), and then add the two together.
Truncate your answer to 8 bits.  There will be several steps, but ONLY show the
answer, in the same way as you reported problems 6 - 10.  Note that this means that
you will ALSO NEED TO SPECIFIY the overflow and carry bits where appropriate, using
the same format used in the "Binary Addition Over Multiple Bits" section.

14.) What is
     11001101
    -01100100?
14.answer)


15.) What is
     01101001
    -10110101?
15.answer)


16.) What is
     10010110
    -11101010?
16.answer)


17.) What is
     10110010
    -00000001?
17.answer)



---Basic Bitwise Operations---

Recall that bitwise AND is specified with `&`, bitwise OR with `|`, and bitwise
XOR with `^`.

18.) What is
     01101101
    &10101011?
18.answer)


19.) What is
     11001001
    &11110001?
19.answer)


20.) What is
     10011011
    &10011011?
20.answer)


21.) What is
     01101110
    &10010001?
21.answer)


22.) What is
     10011011
    |11100101?
22.answer)


23.) What is
     01101101
    |01101101?
23.answer)


24.) What is
     11010001
    |11110001?
24.answer)


25.) What is
     10111101
    |00000001?
25.answer)


26.) What is
     01101101
    ^10010010?
26.answer)


27.) What is
     01101010
    ^11101011?
27.answer)


28.) What is
     11001010
    ^11100101?
28.answer)


29.) What is
     11110101
    ^00001011?
29.answer)


---Bit Shifting---

Recall that shift left is denoted by `<<`, and shift right is denoted
by `>>`.  Additionally, there is a logical and an arithmetic form of
shift right.

For this section, all your answers should consist of exactly 8 result bits.

30.) What is
     11010010 << 1?
30.answer)


31.) What is
     11101010 << 2?
31.answer)


32.) What is
     01010011 >> 1,
     for _logical_ shift right?
32.answer)


33.) What is
     01010011 >> 1,
     for _arithmetic_ shift right?
33.answer)


34.) What is
     01110011 >> 2,
     for _logical_ shift right?
34.answer)


35.) What is
     01110011 >> 2,
     for _arithmetic_ shift right?
35.answer)


36.) What is
     11010011 >> 1,
     for _logical_ shift right?
36.answer)


37.) What is
     11010011 >> 1,
     for _arithmetic_ shift right?
37.answer)


38.) What is
     11110011 >> 2,
     for _logical_ shift right?
38.answer)


39.) What is
     11110011 >> 2,
     for _arithmetic_ shift right?
39.answer)


---Advanced Bitwise Operations---

Look at `http://www.cprogramming.com/tutorial/bitwise_operators.html`
and read how bitwise operations are useful.  Generally, you are not going to AND
two numbers together that you do or do not know the values of.  Instead,
you will usually take a number you DO NOT know and perform a bitwise
operation on it with a number that you DO know.  The known number above is
called a "mask", because it allows you to selectively observe the values of
just the bits you are interested in.  This can be done to inspect, set, and
flip specific bits in the unknown number. In the following problems, the unknown
number has all X's, and the known number has all 1's and 0's.  Write the
answer.  Each bit of the answer is either 1, 0, or X, where X
is the same bit value as the corresponding bit in the unknown number.

40.) What is
     XXXXXXXX
    |11001010?
40.answer)


41.) What is
     XXXXXXXX
    &10110110?
41.answer)


For the following three questions, remember that bit numbers start
numbering from 0, and that hexadecimal numbers are always unsigned.
In addition to showing the mask you would use, also show the operation
you would use, like so: &0x0020.  (i.e., AND the original number with
the hexadecimal mask 0x0020.)

42.) Specify the mask you would need to inspect bit 5 of the unknown number.
     Express it as a 4-digit hexadecimal number.
42.answer)


43.) Specify the mask you would need to set bit 5 of the unknown number to zero.
     That is, the result of this operation results in a new number, which the unknown
     number should be subsequently set to.  Express it as a 4-digit hexadecimal number.
43.answer)


44.) Specify the mask you would need to set bit 5 of the unknown number to one.
     That is, the result of this operation results in a new number, which the unknown
     number should be subsequently set to.  Express it as a 4-digit hexadecimal number.
44.answer)

Solution by an expert tutor
Blurred Solution
This question has been solved
Subscribe to see this solution