Number Representation (Part 2)

24
Number Representation Number Representation (Part 2) (Part 2) Computer Architecture (Fall 2006)

description

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. - PowerPoint PPT Presentation

Transcript of Number Representation (Part 2)

Page 1: Number Representation (Part 2)

Number RepresentationNumber Representation(Part 2)(Part 2)

Computer Architecture(Fall 2006)

Page 2: Number Representation (Part 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

Page 3: Number Representation (Part 2)

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

Page 4: Number Representation (Part 2)

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!

Page 5: Number Representation (Part 2)

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

Page 6: Number Representation (Part 2)

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:

25

0

24

0

23

1

22

0

21

0

20

1

27

1

26

0

Decimal value = -910

Sign-bit

Page 7: Number Representation (Part 2)

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

Page 8: Number Representation (Part 2)

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

Page 9: Number Representation (Part 2)

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

Page 10: Number Representation (Part 2)

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

Page 11: Number Representation (Part 2)

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

Page 12: Number Representation (Part 2)

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!

Page 13: Number Representation (Part 2)

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

Page 14: Number Representation (Part 2)

Convert Decimal to 2’s Complement

Signed Decimal Number

Positive Negative

Decimal to n-bit Binary

Decimal to n-bit Binary

Invert all the n bits

Add 12

Page 15: Number Representation (Part 2)

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

Page 16: Number Representation (Part 2)

2’s Complement to Decimal

Binary number in n-bit 2’s complement

Value of Sign-bit (Left most bit)

Binary to decimal (Negative number)

Invert all bits

Add 1

Binary to decimal (positive number)

Sign Bit=0 Sign Bit=1

Page 17: Number Representation (Part 2)

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!

Page 18: Number Representation (Part 2)

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

Page 19: Number Representation (Part 2)

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 converted11102 → 00012 + 12 = 00102 = -210

INV

INV

Page 20: Number Representation (Part 2)

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

Page 21: Number Representation (Part 2)

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)

AB SumC

Carry

AB

BC

CA

A + B

Full

Adder

Page 22: Number Representation (Part 2)

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

FA0

A0

B0

C1 C0

FA1

A1

B1FA2

A2

B2

C3 C2

0

What happens this bit is set to 1 instead of 0?

Page 23: Number Representation (Part 2)

Subtraction Circuit

FA0

A0

B0

C1 C0

FA1

A1

B1FA2

A2

B2

C2

1

Add 1 to inverted Bn bits to generate 2’s complement!

Each bit is inverted (Step 1 of Converting to 2’s

Complement)

Page 24: Number Representation (Part 2)

Add/Subtract Circuit• Circuit to Add or Subtract two 3-bit 2’s complement

number

FA0

A0

B0

C1 C0

FA1

A1

B1

FA2

A2

B2

C3 C2

0

Control Input0 = Add1 = Subtract

The XOR gate inverts the bits only when control input is 1