310 likes | 728 Views
Fixed-Point Negative Numbers. Two Common Forms: Signed-Magnitude Form Complement Forms. Signed-Magnitude Numbers. First Digit is Sign Digit, Remaining n -1 are the Magnitude Convention (binary) 0 is a Positive Sign bit 1 is a Negative Sign bit Convention (non-binary)
E N D
Fixed-Point Negative Numbers • Two Common Forms: • Signed-Magnitude Form • Complement Forms Signed-Magnitude Numbers • First Digit is Sign Digit, Remaining n-1 are the Magnitude • Convention (binary) • 0 is a Positive Sign bit • 1 is a Negative Sign bit • Convention (non-binary) • 0 is a Positive Sign digit • -1 is a Negative Sign digit • Only 2 • n-1 Digit Sequences are Utilized
Signed-Magnitude Example Largest Representable Value is:
Signed-Magnitude Ternary Example Notice that fractional part is infinite in =10 but finite in =3
Signed-Magnitude Ternary Bounds Positive Numbers: Negative Numbers: Range:
Signed-Magnitude Comments • Two Representations for zero, +0 and –0 • Addition of +K and –K is not zero • EXAMPLE • Disadvantage since algorithm requires comparison of signs and, if different, comparison of magnitudes 10001010.002 +00001010.002 10010100.002 -1010+1010 Yields a Sum of –2010!!!!!
Complement Representations • Two Types of Complement Representations • Radix Complement (binary – 2’s-complement) • Diminished-Radix Complement (binary – 1’s-complement) • Positive Values Represented Same Way as Signed Magnitude for Both Types • Negative Value, -Y, Represented as R-Y Where R is a Constant • Obeys the Identity: • Advantage is No Decisions Needed Based on Operand Sign Before Operations are Applied
Complement Representation Example • X is Positive, Y is Negative, Compute X + Y Using Complement Representation • If |Y| > X, Then the Answer is R - (Y - X) • If X > |Y|, Then the Answer Should be X - Y • But X + (R - Y) = R + (X - Y), • Thus R Must be Discarded! • Solution is to Choose the Value of R Carefully
Requirements for Complementation Value, R • Select R to Simplify (or Eliminate) Correction for the X > |Y| Case • Calculation of Complement of Y or(R-Y) Should be Simple and Fast • Definition of Complement for Single Digit, xi • Definition of DigitComplement for a Word, X
Complementation Value, R • Add Word and Complement Together: Answer to Addition Now Add 1 ulp • Therefore, we see that:
Radix-Complement Form • The Radix Complement Form is Defined When: • Using k is Convenient Since Storing Result in Register of Length n Causes MSD of 1 to be Discarded due to Finite Register Length • Therefore, it is Easy to Compute the Complement of X by: • Take the Digit Complement of X • Add 1ulp to Complement
Radix-Complement Form (cont) • No Correction is Needed When We have Positive X and Negative Y Such That: • Since R= k • And k is discarded Due to Finite Register Length
Radix-Complement Example • Since n = m + k m = 0 • Therefore 1 ulp = 20 = 1 • Given X, the radix complement (2’s complement) is: • Range of Positive Numbers is [0000,0111] • 2’s Complement of Largest, 0111: • In Radix Complement, There is a Single Representation of Zero(0000) and Each Positive Number has Corresponding NegativeNumber With MSB=1
Radix-Complement Example • In Radix Complement, There is a Single Representation of Zero(0000) and Each Positive Number has Corresponding NegativeNumber With MSB=1 • Accounts for 1(zero)+7(pos.)+7(neg.), But Extra Bit Pattern Left • One Additional Negative Number, 10002=-810, -810X+710
Diminished-Radix Complement • In Diminished Radix Complement, the Complementation Process is Easier Since the Addition of 1 ulp is Avoided • Range of Positive Numbers is: [00002,01112]=[010,710] • 1’s Complement of Largest is 10002= -710 • 1’s Complement of Zero is 11112 • Two Representations of Zero! • In All Cases MSB is Sign Bit
Comparison of Two’s Complement, One’s Complement and Signed-Magnitude
Signed-Number Arithmetic • Signed Magnitude – Only Use Magnitude Digits Carry-out Overflow
Radix-Complement Arithmetic • Radix Complement; In this case 2’s Complement Carry-out Does NOT Mean Overflow
2’s-Complement Overflow • If X, Y have opposite signs overflow never occurs whether carry-out exists or not No Carry-out Carry-out • If X, Y have same sign and result sign differs, overflow occurs No Carry-out,Overflow Carry-out, Overflow
1’s-Complement Overflow • One’s complement – carry-out indicates a correction is needed • If X > Y, then answer should be X-Y however; registercontains X-Y-ulp since 2n is carry-out bit, therefore must“correct” by adding 1 ulp
Example of 1’s-Complement Overflow NeedCorrectionSinceOverflow So-called “end-around” carry
“End-Around” Carry Design Carry-out • This is “end-around” carry – always add carry-out to LSD
Other Number Systems • Binary Number Systems are Most Common • In terms of building “fast” systems, we should consider: • Negative Radix • Signed Digit • Log (logarithm) • Signed Log • Complex Radix • Mixed Radix • Residue Number Systems
Negative-Radix Fixed-Position Systems Nega-decimal example:
Nega-Decimal Number System Largest Positive Value, Xmax: Smallest Value, Xmin: Finite Register Length, n=3 digits: Asymmetric System!!!: 10 times more positive than negative values represented
Nega-Decimal Number System Finite Register Length, n=4 digits: Now more Negative Values than Positive Nega-decimal System Characteristics: • Arithmetic Operations Same Regardless of Sign of Number • No Signed Digit/Complement Representation Needed • Sign of X Determined by Position of First Non-zero Digit
Nega-Binary Number System Negative Radix: Example How is this Addition Operation Performed?????
Nega-Binary Number System wi Values (5)10 (-3)10 (1+1=4-2)10 (0+0=0)10 (4+4=16-8)10 (0-8=-8)10 (5-3=2)-10 Carry-out
Nega-Binary Adder Design • Individual Adder Cells Produce Two Carry-out Bits • Design a Circuit at Gate Level for a 4-Digit Nega-Binary Adder • Hint: Cout Functions Should Look Familiar!