1 / 24

Number Representation (Part 2)

Number Representation (Part 2). Computer Architecture (Fall 2006). Unsigned Representations. Unsigned number representations Binary (base-2) Octal (base-8) Hexadecimal (base-16) Given n bits Range: 0 to 2 n -1 decimal numbers. Need for Signed Representations.

erv
Télécharger la présentation

Number Representation (Part 2)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Number Representation(Part 2) Computer Architecture (Fall 2006)

  2. Unsigned Representations • Unsigned number representations • Binary (base-2) • Octal (base-8) • Hexadecimal (base-16) • Given n bits • Range: 0 to 2n-1 decimal numbers

  3. Need for Signed Representations • Unsigned representations cannot represent negative numbers • Such as: -2, -51 etc. • However negative numbers are frequently used • Need a representation for positive & negative numbers – that is, signed numbers

  4. Standard Signed Representations • Signed numbers are represented using 3 different standards • Sign-bit Magnitude (SBM) representation • 1’s Complement Representation • 2’s Complement Representation • This is the representation that is used by computers today!

  5. Strategy for Signed Representation • General strategy is as follows: • All representations assume fixed size • 8, 16, 32, or 64 bits operated on as a single unit-word • Given n bits (unsigned range: 0 to 2n-1) • Break the range into two halves • One half represents positive numbers • 0 to 2n-1-1 corresponds to positive numbers • Decimal value: 0 to 2n-1-1 • Another half represents negative numbers • 2n-1 to 2n-1 corresponds to negative numbers • Decimal range: -2n-1 to -1

  6. Sign-Bit Magnitude (SBM) Representation • Uses left-most bit called sign bit to indicate sign • Sign bit = 0 implies positive number • Sign bit = 1 implies negative number • Example: 27 26 25 24 23 22 21 20 1 0 0 0 1 0 0 1 Sign-bit Decimal value = -910

  7. SBM Examples (1) • Represent 1010 using 8-bit SBM • Converting to binary: 1010 = 10102 • 8-bit SBM representation: 000010102 • Sign bit is 0 to indicate positive value. • Represent -1510 using 8-bit SBM • Converting to binary: 1510 = 11112 • 8-bit SBM representation: 100011112 • Sign bit is 1 to indicate negative value

  8. SBM Examples (2) • Convert 8-bit SBM 000001012 to Decimal • The sign bit (left most bit) is 0 indicating positive value • Converting 00001012 to decimal we get 510 • 000001012 in SBM = 510 • Convert 8-bit SBM 100011012 to Decimal • The sign bit (left most bit) is 1 indicating negative value! • Converting 00011012 to decimal we get 1310 • Result: 100011012 = -1310

  9. 1’s Complement Representation • There are a few drawbacks with SBM • There are 2 different representations for zero • +0 (00000000) and -0 (10000000) • Logic circuits for addition and subtraction of binary numbers are complicated as they have to handle sign bit separately. • 1’s Complement Representation • Fixed size representation • Most significant bit is reserved as sign-bit • Positive numbers are represented using standard binary notation • Negative numbers are represented by inverting all bits in the standard binary notation

  10. Example of 1’s Complement • Represent 1210 using 8-bit 1’s Complement • Converting to binary: 1210 = 11002 • 8-bit 1’s complement representation: 000011002 • Sign bit is 0 to indicate positive value. • Represent -1310 using 8-bit SBM • Converting to binary: 1310 = 11012 • 8-bit representation: 000011012 • Since original decimal number was negative each bit in 8-bit representation is inverted! • 1s Complement representation = 11110010 • Note: Sign bit becomes 1 to indicate negative value

  11. Example of 1’s Complement • Convert 1’s complement 000011112 to decimal • Sign bit is 0 to indicating positive value. • Converting 000011112 to decimal we get 1510 • Final result: +1510 • Convert 1’s complement 111101012 to decimal • Sign bit is 1 indicating negative value. • First invert all the bits to get: 000010102 • Convert above binary to decimal to get 1010 • Final result: -1010

  12. 1’s Complement • Still has 2 different representations for 0 • +0 (00000000) and -0 (11111111) • However, A – A operations can be easily represented • A – A = A + (-A) = 11111111 (which is effectively 0 in 1’s complement) • General subtraction does not work in all cases!

  13. 2’s Complement • Overcomes the limitations of SBM and 1’s complement representation! • Fixed size representation • Enables subtraction of numbers via addition! • Also reserves a special sign bit (left most bit) • 0 (sign bit) indicates positive numbers • 1 (sign bit) indicates negative numbers • Conversion to and from 2’s complement requires similar steps • Several of them are identical to 1’s complement

  14. Convert Decimal to 2’s Complement Signed Decimal Number Positive Negative Invert all the n bits Decimal to n-bit Binary Decimal to n-bit Binary Add 12

  15. 2’s Complement Example • Represent +2010 using 8-bit 2’s Complement • Since number is positive simply represent +2010 as a 8-bit binary number! • +2010 = 000101002 • Represent -1810 using 8-bit 2’s complement • Since number is negative we need to do 1’s complement and add 12 • Step 1: Convert 1810 to 8-bit binary = 000100102 • Step 2: Invert bits = 111011012 • Step 3: Add 12 = 111011102 • Final result: -1810 = 111011102 in 8-bit 2’s complement

  16. 2’s Complement to Decimal Binary number in n-bit 2’s complement Value of Sign-bit (Left most bit) Sign Bit=0 Sign Bit=1 Invert all bits Binary to decimal (positive number) Add 1 Binary to decimal (Negative number)

  17. Example • Convert 8-bit 2’s complement to decimal • Case 1: 000010102 • Sign bit is 0 indicating positive number • Simply convert binary to decimal to get 1010 • Case 2: 111110102 • Sign bit is 1 indicating negative number • Step 1: Invert all bits to get 000001012 • Step 2: Add 12 to get 000001102 • Convert binary to decimal to get -610 • Note the negative sign on decimal number!

  18. Subtraction using 2’s Complement • Perform 510 – 310 using 4-bit 2’s complement 510 – 310 = 510 + (-310) 510 = 01012 -310 = (00112→11002 + 12) = 11012 510 + (-310) = 01012 + 11012 = 00102 00102 = 210 INV

  19. Subtraction using 2’s Complement • Perform 210 – 410 using 4-bit 2’s complement 210 – 410 = 210 + (-410) 210 = 00102 -410 = (01002→10112 + 12) = 11002 210 + (-410) = 00102 + 11002 = 11102 11102 is 2’s complement result and because it is negative (sign bit is 1) it needs to be converted 11102→ 00012 + 12 = 00102 = -210 INV INV

  20. Subtraction Circuit • Circuit to subtract two 3-bit 2’s complement numbers • Recollect that subtraction is performed via addition in 2’s complement representation. • Addition is performed using Full Adder modules • Cascaded together in the form of Ripple Carry Adder • One of the numbers have to be converted to 2’s complement representation • Invert all the bits • Add 12

  21. Logic Circuit to add 3 bits: Full Adder • Refer to truth table shown earlier • Sum = A + B + C • Carry = (A•B) + (B•C) + (C•A) Full Adder A A + B B Sum C AB BC Carry CA

  22. Ripple Carry Adder • Several full adder’s can be cascaded to add multiple-bits! • Circuit reflects the way binary numbers are added • The following circuit adds 2 3-bit binary numbers namely A2A1A0 and B2B1B0 to yield result C3C2C1C0 FA2 A2 FA1 A1 FA0 A0 B2 B1 B0 0 What happens this bit is set to 1 instead of 0? C3 C2 C1 C0

  23. Subtraction Circuit FA2 A2 FA1 A1 FA0 A0 B2 B1 B0 1 C2 C1 C0 Each bit is inverted (Step 1 of Converting to 2’s Complement) Add 1 to inverted Bn bits to generate 2’s complement!

  24. Add/Subtract Circuit • Circuit to Add or Subtract two 3-bit 2’s complement number The XOR gate inverts the bits only when control input is 1 B2 B1 B0 FA2 A2 FA1 A1 FA0 A0 0 C3 C2 C1 Control Input 0 = Add 1 = Subtract C0

More Related