Serial 2 S Complementer Shift Register
I know this question has been asked and there already are answers to this question on the Internet. 3cx license key. I just want to ask you where I am wrong in my way of thinking.
6-10) Design a serial 2’s complementer with shift register and a flip-flop. The binary number is shifted out from one side and it’s 2’s complement shifted into the other side of the shift register. See solution for Problem 5-7 Page: 3.
When I first saw this question, the shortcut -keep copying until you see a 1 and then complement the rest- hadn't occurred to me. So I thought I would just complement the bit, add 1 to it and if I get a carry then I would keep it in the flip flop to add it to the next bit coming from the input. Meaning that, In State-0 if the input is 0 then I should output '0' (after complementing) and keep that carry '1' in the flip-flop so flip-flop goes from state-0 to state-1.
If the input is 1 then I should output '1' but the flip-flop remains in the same state which is state-0. In State-1 if the input is 0 then I should output '1' -since 2's complement would be 10 and I have a carry '1' in the flip-flop- I would get another carry so the state remains the same. If the input is 1 then I should output '0' and the flip-flop remains in the same state as well. Here is my state diagram: +---------+-------+-------+--------+ Present Next State Input State Output A x A y 0 0 1 0 0 1 0 1 1 0 1 1 1 1 1 0 +---------+-------+-------+--------+ After getting the equations from the table above. I get a circuit like so: – Schematic created using Can you please help me to figure out what's wrong with my way of thinking? Windows 7 64-bit iso.
Thank you in advance.:). I just figured out the problem and here I am explaining. If you were trying to solve this problem the same way I was trying (without thinking about the shortcut like 'output the same value till you see a bit of value 1 and then complement others in the string.'
) then we will have 2 states. State-1 (Initial State - Carry-1 State) Which we have a carry-1 to add to the least significant bit of the string after complementing.
Because that's what you would normally do when you are trying to get the 2's complement of a bit string. You just complement the entire string and add 1 to the least significant bit. You could name this state, State-0 as well but I am just naming it State-1 not to get confused. So that I know I have a carry 1 in the flip-flop.
State-0 (Which signifies that you don't have any carry left) This state means that you have no carry left in hand. So you just complement the bit at the input. Let's inspect what possibilities we can get when trying to get the 2's complement of a bit string. • In the initial state you could get a 1 whose 1's complement is 0 and with a carry in hand equals to 1.