Number Representation

Slides:



Advertisements
Similar presentations
HEXADECIMAL NUMBERS Code
Advertisements

COE 202: Digital Logic Design Signed Numbers
Assembly Language and Computer Architecture Using C++ and Java
Assembly Language and Computer Architecture Using C++ and Java
Number Representation (1) Fall 2005 Lecture 12: Number Representation Integers and Computer Arithmetic.
DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)
Number Systems Lecture 02.
Binary Number Systems.
The Binary Number System
Data Representation Number Systems.
Numeral Systems Subjects: Numeral System Positional systems Decimal
Data Representation – Binary Numbers
Computer Arithmetic Nizamettin AYDIN
Computer Architecture Lecture 3: Logical circuits, computer arithmetics Piotr Bilski.
IT253: Computer Organization
Computer Architecture
Lecture Overview Introduction Positional Numbering System
Number Systems. Why binary numbers? Digital systems process information in binary form. That is using 0s and 1s (LOW and HIGH, 0v and 5v). Digital designer.
Number Representation Part 1 Fixed-Radix Unsigned Representations ECE 645: Lecture 1.
Lecture 4 Last Lecture –Positional Numbering Systems –Converting Between Bases Today’s Topics –Signed Integer Representation Signed magnitude One’s complement.
Engineering 1040: Mechanisms & Electric Circuits Spring 2014 Number Systems.
Chapter 2 Binary Values and Number Systems. 2 2 Natural Numbers Zero and any number obtained by repeatedly adding one to it. Examples: 100, 0, 45645,
Computer Arithmetic and the Arithmetic Unit Lesson 2 - Ioan Despi.
ECE 8053 Introduction to Computer Arithmetic (Website: Course & Text Content: Part 1: Number Representation.
Topic 1 – Number Systems. What is a Number System? A number system consists of an ordered set of symbols (digits) with relations defined for addition,
Number Systems & Operations
FAMU-FSU College of Engineering 1 Part III The Arithmetic/Logic Unit.
Orange Coast College Business Division Computer Science Department CS 116- Computer Architecture Logic Design: Part 1.
Chapter 1: Binary Systems
1 Digital Logic Design Lecture 2 More Number Systems/Complements.
CHAPTER 3: Number Systems
FAMU-FSU College of Engineering 1 Computer Architecture EEL 4713/5764, Spring 2006 Dr. Michael Frank Module #9 – Number Representations.
Number Representation Part 1 ECE 645: Lecture 4. Required Reading Chapter 1, Numbers and Arithmetic, Sections Chapter 2, Representing Signed Numbers.
Number Representation Part 1 ECE 645: Lecture 4. Required Reading Chapter 1, Numbers and Arithmetic, Sections Chapter 2, Representing Signed Numbers.
Number Systems. The position of each digit in a weighted number system is assigned a weight based on the base or radix of the system. The radix of decimal.
1 CE 454 Computer Architecture Lecture 4 Ahmed Ezzat The Digital Logic, Ch-3.1.
Chapter 9 Computer Arithmetic
William Stallings Computer Organization and Architecture 8th Edition
CHAPTER 5: Representing Numerical Data
CS2100 Computer Organisation
Number Systems & Binary Arithmetic
Addition and Subtraction
Bits, Data Types, and Operations
Data Representation.
UNIVERSITY OF MASSACHUSETTS Dept
Part III The Arithmetic/Logic Unit
Digital Logic & Design Dr. Waseem Ikram Lecture 02.
Digital Systems and Number Systems
CHAPTER 1 INTRODUCTION NUMBER SYSTEMS AND CONVERSION
Fixed-Point Representations.
Number Representation
William Stallings Computer Organization and Architecture 7th Edition
University of Gujrat Department of Computer Science
Wakerly Section 2.4 and further
Data Structures Mohammed Thajeel To the second year students
BEE1244 Digital System and Electronics BEE1244 Digital System and Electronic Chapter 2 Number Systems.
Chapter 2 Bits, Data Types & Operations Integer Representation
Data Representation Data Types Complements Fixed Point Representation
Digital Electronics & Logic Design
Unconventional Fixed-Radix Number Systems
Data Representation in Computer Systems
Numbering System TODAY AND TOMORROW 11th Edition
Digital Logic & Design Lecture 02.
ECEG-3202 Computer Architecture and Organization
UNIVERSITY OF MASSACHUSETTS Dept
Digital Logic Design (ECEg3141) 2. Number systems, operations & codes 1.
Digital Systems and Binary Numbers
Binary to Decimal Conversion
Prof. Giancarlo Succi, Ph.D., P.Eng.
Presentation transcript:

Number Representation ECE 645: Lecture 5 Number Representation Part 1

Required Reading B. Parhami, Computer Arithmetic: Algorithms and Hardware Design Chapter 1, Numbers and Arithmetic, Sections 1.1-1.6 Chapter 2, Representing Signed Numbers

Historical Representations: Ancient Egyptians Numerals (1) ~4000 BC “Sum of Symbols” = (34)10

Historical Representations: Ancient Egyptians Numerals (2) What number does this stone carving from Karnak represent?

Historical Representations: Ancient Egyptians Numerals (3)

Historical Representations: Ancient Egyptians Numerals (4) Symbol for a fraction (part): Special symbols for most commonly used fractions:

Historical Representations: Ancient Babylonian Numerals (1) First known positional system 3100 BC Radix 60 (sexagesimal) Two symbols: = 1 = 10 − Integers and fractions were represented identically - a radix point was not written but rather made clear by context

Babylonian Numerals: Example 1 x 602 20 x 601 56 x 600 = (4,856)10

Historical Representations: Ancient Babylonian Numerals (2) Digits from 1 to 59

Positional Code with Zero Zero Represented by Space Partial solution What about trailing zeros? Babylonians Introduced New Symbol or 4th to 1st Century BC Zero Allows Representation of Fractions Fractions started with zero

Mixed System Roman Numerals Sum of all symbols I=1 V=5 X=10 L=50 C=100 D=500 M=1000 Difficult to do arithmetic e.g., MCDXLVII IX ?

Hindu-Arabic Numeral System Brahmi numerals, India, 400 BC-400 AD Evolution of numerals in early Europe

Positional Code Decimal System Documented in the 9th century Position of coefficient determines its value Coefficient in position is multiplied by radix (10) raised to the power determined by its position, e.g.,

Migration of Positional Notation ~750 AD Zero spread from India to Arabic countries ~1250 AD Zero spread to Europe Importance of Zero Ease of arithmetic which leads to improved commerce

Binary Number System Binary Positional number system Two symbols, B = { 0, 1 } Easily implemented using switches Easy to implement in electronic circuitry Algebra invented by George Boole (1815-1864) allows easy manipulation of symbols

Modern Arithmetic and Number Systems Modern number systems used in digital arithmetic can be broadly classified as: Fixed-point number representation systems Integers Rational numbers of the form x = a/2f, a is an integer, f is a positive integer Floating-point number representation systems x * bE, where x is a rational number, b the integer base, and E the exponent Note that all digital numbers are eventually coded in bits {0,1} on a computer

Encoding Numbers in 4-Bits fixed point floating point

Classification of number systems (1) Positional Non-positional Fixed-radix Mixed-radix Conventional Unconventional Binary Decimal Hexadecimal Signed-digit Non-redundant Redundant

Classification of number systems (2) Positional wi - weight of the digit xi Fixed-radix r - radix of the number system Conventional fixed-radix r integer, r > 0 xi  {0, 1, …, r-1}

Classification of number systems (3) Unconventional fixed-radix xi  {-, …,  } Signed-digit >0  negative digits Non-redundant number of digits =  +  + 1  r Redundant number of digits =  +  + 1 > r

Example of a mixed-radix positional system?

What is it?

What is it?

What is it?

in Jantar Mantar - Jaipur, India Samrat Yantra in Jantar Mantar - Jaipur, India The largest sundial in the world 90 feet (27 m) tall - Conceived by Maharaja Sawai Raja Jai Singh II Built of local stone and marble 1728-1734 The style's horizontal angle is equal the sundial's geographical latitude 27° north The time is read by observing where the shadow is sharpest at the time Accuracy of 2 seconds Reconstructed in 1901

Jantar Mantar - Jaipur, India Original Units of Time 1 day = 60 ghadis (1 ghadi = 24 minutes) 1 ghadi = 60 pals (1 pal = 24 seconds) 1 pal = 4 breaths (1 breath = 6 seconds) Original weights: 60*60*4 60*4 4 breaths day ghadi pal Current weights: 24*60*60 60*60 60 seconds day hour minute

Fixed-point representation Integral and fractional part X = xk-1 xk-2 … x1 x0 . x-1 x-2 … x-l Integral part Fractional part Radix point NOT stored in the register understood to be in a fixed position

Fixed-Radix Conventional (Unsigned) Representations

Fixed-Radix Conventional Number Systems Fixed Point Number system Positional Non-positional Fixed-radix Mixed-radix Conventional (unsigned) Unconventional (signed) Binary Decimal Hexadecimal Signed-digit Non-redundant Redundant

Range of numbers Xmin Xmax Number system Decimal X = (xk-1 xk-2 … x1 x0.x-1 … x-l)10 10k - 10-l Binary X = (xk-1 xk-2 … x1 x0.x-1 … x-l)2 2k - 2-l Conventional fixed-radix X = (xk-1 xk-2 … x1 x0.x-1 … x-l)r rk - r-l Notation: unit in the least significant position unit in the last position ulp = r-l

Number of digits in the integer part necessary to cover the range 0..Xmax Number system Decimal Binary Conventional fixed-radix

Radix Conversion Whole part Fractional part u = w . v = ( xk–1xk–2 . . . x1x0 . x–1x–2 . . . x–l )r Old = ( XK–1XK–2 . . . X1X0 . X–1X–2 . . . X–L )R New Example: (31)eight = (25)ten Two methods: Option 1) Radix conversion, using arithmetic in the old radix r Convenient when converting from r = 10 or familiar radix Option 2) Radix conversion, using arithmetic in the new radix R Convenient when converting to R = 10 or familiar radix From: Parhami, Computer Arithmetic: Algorithms and Hardware Design

Option 1: Arithmetic in old radix r Converting whole part w: (105)ten = (?)five Repeatedly divide by five Quotient Remainder 105 0 21 1 4 4 Therefore, (105)ten = (410)five Converting fractional part v: (105.486)ten = (410.?)five Repeatedly multiply by five Whole Part Fraction .486 2 .430 2 .150 0 .750 3 .750 Therefore, (105.486)ten  (410.22033)five From: Parhami, Computer Arithmetic: Algorithms and Hardware Design

Radix Conversion of the Integral Part R - destination radix XI = (xk-1 xk-2 … x1 x0)R = = = ((...((xk-1 R + xk-2) R + xk-3 ) R + … + x2 ) R + x1 ) R + x0 Quotient Remainder (...((xk-1 R + xk-2) R + xk-3 ) R + … + x2 ) R + x1 x0 ...((xk-1 R + xk-2) R + xk-3 ) R + … + x2 x1 ………. ………. xk-1 R + xk-2 xk-3 xk-1 xk-2 xk-1

Radix Conversion of the Fractional Part R - destination radix XF = (. x-1 x-2 … x-l+1 x-l)R = = = R-1 (x-1 + R-1 (x-2 + R-1 (…. + R-1 ( x-l+1 + R-1 x-l )….))) Integer part Fractional part x-1 R-1 (x-2 + R-1 (….. + R-1 ( x-l+1 + R-1 x-l)….)) x-2 R-1 (….. + R-1 ( x-l+1 + R-1 x-l)….) ………. ………. x-l+2 R-1 ( x-l+1 + R-1 x-l) x-l+1 R-1 x-l x-l

Option 2: Arithmetic in new radix R Converting fractional part v: (410.22033)five = (105.?)ten (0.22033)five  55 = (22033)five = (1518)ten 1518 / 55 = 1518 / 3125 = 0.48576 Therefore, (410.22033)five = (105.48576)ten Converting (22033)five = (?)ten ((((2  5) + 2)  5 + 0)  5 + 3)  5 + 3 |-----| : : : : 10 : : : : |-----------| : : : 12 : : : |---------------------| : : 60 : : |-------------------------------| : 303 : |-----------------------------------------| 1518 Horner’s rule or formula From: Parhami, Computer Arithmetic: Algorithms and Hardware Design

Option 2 cont'd: Horner's rule for fractions Horner’s rule is also applicable: Proceed from right to left and use division instead of multiplication Converting fractional part v: (0.22033)five = (?)ten (((((3 / 5) + 3) / 5 + 0) / 5 + 2) / 5 + 2) / 5 |-----| : : : : 0.6 : : : : |-----------| : : : 3.6 : : : |---------------------| : : 0.72 : : |-------------------------------| : 2.144 : |-----------------------------------------| 2.4288 |-----------------------------------------------| 0.48576 Horner’s rule or formula From: Parhami, Computer Arithmetic: Algorithms and Hardware Design

Radix Conversion Shortcut for r=bg, R=bG r=bg  b  R=bG 4=22  2  8=23 (2301.302)4 = (10 110 001. 110 010)2 = (261.62)8 Trick here is to first convert to a number in radix b, then to R Cluster in groups of 3 (because 23 = 8) moving away from binary point

Signed Number Representations

Representations of signed numbers Signed-magnitude Biased Complement Diminished-radix complement (Digit complement) Radix-complement r=2 r=2 Two’s complement One’s complement

Signed- magnitude Two’s complement One’s complement Biased 7 0111 1111 0111 0111 6 0110 1110 0110 0110 5 0101 1101 0101 0101 4 0100 1100 0100 0100 3 0011 1011 0011 0011 2 0010 1010 0010 0010 1 0001 1001 0001 0001 0 0000 1000 0000 0000 -0 1000 1111 -1 1001 0111 1111 1110 -2 1010 0110 1110 1101 -3 1011 0101 1101 1100 -4 1100 0100 1100 1011 -5 1101 0011 1011 1010 -6 1110 0010 1010 1001 -7 1111 0001 1001 1000 -8 0000 1000

Signed-magnitude representation of signed numbers k-1 k-2 magnitude sign Advantages: conceptual simplicity symmetric range: -(2k-1-1) .. -(2k-1-1) simple negation Disadvantages: addition of numbers with the same sign and with a different sign handled differently

Biased (excess-B) representation of signed integers R(X) = X + B B = 2k-1, k=4 -2k-1 ≤ X ≤ 2k-1-1 X -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 R R(X) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Biased representation with radix 2 Signed number X Representation mapping Unsigned Representation R(X) Binary mapping Bit vector (xk-1xk-2...x0.x-1...x-l)

Signed Number Representations Complement Signed Number Representations

Complement representations with radix 2 Signed number X Representation mapping Unsigned Representation R(X) Binary mapping Bit vector (xk-1xk-2...x0.x-1...x-l)

Useful dependencies 1 – xi = xi X when X  0 - X when X < 0 xi 1 1 1

One’s complement transformation  0 def OC(A) = A = 2k – 2-l - A k-1 k-2 ... 0 -1 -2 ... -l Properties: 1 1 ... 1 . 1 1 ... 1 0  OC(A)  2k – 2-l OC(OC(A)) = A – Ak-1 Ak-2 … A0 . A-1 A-2 ... A-l Ak-1 Ak-2 … A0 . A-1 A-2 ... A-l

One’s Complement Representation of Signed Numbers For –(2k-1 – 2-l)  X  2k-1 – 2-l X for X > 0 0 or OC(0) for X = 0 OC(|X|) for X < 0 def R(X) = 0  R(X)  2k – 2-l

One’s complement representation of signed integers X>0 X<0 k=4 0, 2k-1 X X+2k-1 = 2k-1 - |X| -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

One’s complement representation of signed numbers +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15

Two’s complement transformation (1)  0 A + 2-l = 2k – A for A > 0 def TC(A) = 0 for A = 0 Properties: 2k – A = 2k – A – 2-l + 2-l = = (2k – 2-l – A)+2-l = A + 2-l 0  TC(A)  2k – 2-l TC(TC(A)) = A

Two’s complement transformation (2)  0 def TC(A) = A + 2-l mod 2k = 2k – A mod 2k

Two’s Complement Representation of Signed Numbers For –2k-1  X  2k-1 – 2-l X for X  0 TC(|X|) for X < 0 def R(X) = 0  R(X)  2k – 2-l

Two’s complement representation of signed integers X>0 X<0 k=4 X X+2k = 2k - |X| -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Two’s complement representation of signed integers +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15

Signed-magnitude representation of signed numbers X>0 X<0 k=4 0, 2k-1 X | X|+2k-1 = -X+2k-1 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Signed-magnitude representation of signed numbers +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15

Biased representation of signed numbers X>0 X<0 B = 2k-1, k=4 X+B B X+B -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Biased representation of signed numbers +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15

Arithmetic Operations in Signed Number Representations

Unsigned addition vs. signed addition Programmer Machine Unsigned mind Signed mind weight 128 64 32 16 8 4 2 1 carry 1 1 1 X Y S 0 0 0 1 0 0 1 1 1 0 0 0 0 1 0 1 1 0 0 1 1 0 0 0 + = x7 y7 x6 y6 x5 y5 x4 y4 x3 y3 x2 y2 x1 y1 x0 y0 FA FA FA FA FA FA FA FA c8 c7 c6 c5 c4 c3 c2 c1 s7 s6 s5 s4 s3 s2 s1 s0

Out of range flags Carry flag - C C = 1 if result > MAX_UNSIGNED or out-of-range for unsigned numbers C = 1 if result > MAX_UNSIGNED or result < 0 0 otherwise where MAX_UNSIGNED = 28-1 for 8-bit operands 216-1 for 16-bit operands Overflow flag - V out-of-range for signed numbers V = 1 if result > MAX_SIGNED or result < MIN_SIGNED 0 otherwise where MAX_SIGNED = 27-1 for 8-bit operands 215-1 for 16-bit operands MIN_SIGNED = -27 for 8-bit operands -215 for 16-bit operands

Overflow for signed numbers Indication of overflow Positive + Positive = Negative Negative + Negative = Positive Formulas Overflow2’s complement = xk-1 yk-1 sk-1 + xk-1 yk-1 sk-1 = = ck  ck-1

Two’s complement representation of signed integers +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15

Addition of Signed and Unsigned Numbers C=1 and V=0 8 4 2 1 -8 4 2 1 1 1 0 1 13 1 0 1 1 11 1 1 0 1 -3 1 0 1 1 -5 1 1 0 0 0 24≠8 1 1 0 0 0 -8 C=0 and V=1 8 4 2 1 -8 4 2 1 0 0 1 1 3 0 1 1 0 6 0 0 1 1 3 0 1 1 0 6 1 0 0 1 9 1 0 0 1 9≠-7

Addition of Signed and Unsigned Numbers C=0 and V=0 8 4 2 1 -8 4 2 1 0 1 0 1 5 1 0 0 1 9 0 1 0 1 5 1 0 0 1 -7 1 1 1 0 14 1 1 1 0 -2 C=1 and V=1 8 4 2 1 -8 4 2 1 1 1 0 0 12 1 0 1 1 11 1 1 0 0 -4 1 0 1 1 -5 1 0 1 1 1 23≠7 1 0 1 1 1 -9≠-7

Two's Complement Adder/Subtractor Architecture Can replace this with k xor gates

Arithmetic Shift Two’s complement Sh.L {001012 = +5} = 010102 = +10 Shift left may cause overflow overflow Sh.R {001012 = +5} = 000102 = +2 rem 1 Sh.R {110112 = -5} = 111012 = -3 rem 1 Shift right requires sign extension

Addition and subtraction One’s complement Numbers of the same sign Numbers of the opposite sign 8 4 2 1 8 4 2 1 0 0 1 0 2 1 1 1 0 -1 1 0 1 0 -5 1 1 0 1 -2 1 0 0 0 0 1 0 1 1 1 1 + 1 + 0 0 0 1 1 1 0 0 0 -7 Disadvantage: Need another adder after the addition is complete! end-arround carry

One’s complement representation of signed numbers +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15

Addition and subtraction Signed-magnitude Numbers of the same sign Numbers of the opposite sign sign bit magnitude sign bit magnitude 0 1 0 1 1 11 0 0 1 1 0 6 1 1 0 1 1 -11 0 0 1 1 0 6 + + 0 1 0 0 0 1 17 11 > 6 1 0 1 1 11 0 1 1 0 6 carry = overflow – 1 0 1 0 1 5

Signed Number Representations Summary

Representing k-bit signed binary numbers Representation for X>0 Representation Representation for 0 Representation for X<0 0, 2k-1 Signed- magnitude X 2k-1+|X| Biased X+B B X+B typical B=2k-1 or 2k-1-ulp Complement X 0, M mod 2k M-|X|=M+X Two’s complement X 2k-|X|= One’s complement 0, 2k-ulp 2k-ulp-|X|= X

Value of a number in the signed representations (xk-1 xk-2 … x1 x0.x-1 … x-l) Representation Signed- magnitude Biased Two’s complement One’s complement

Extending the number of bits of a signed number xk-1 xk-2 … x1 x0 . x-1 x-2 … x-l X Y yk’-1 yk’-2 … yk yk-1 yk-2 … y1 y0 . y-1 y-2 … y-l y-(l+1) … y-l’ signed-magnitude xk-1 0 0 0 0 0 0 0 xk-2 … x1 x0 . x-1 x-2 … x-l 0 0 0 0 0 0 two’s complement xk-1 xk-1 xk-1 . . .xk-1 xk-2 … x1 x0 . x-1 x-2 … x-l 0 0 0 0 0 0 one’s complement xk-1 xk-1 xk-1 . . .xk-1 xk-2 … x1 x0 . x-1 x-2 … x-l xk-1 . . . .xk-1 biased xk-1 . . . xk-2 … x1 x0 . x-1 x-2 … x-l 0 0 0 0 0 0

Generalized Complement Representation

Generalized complement representation of signed integers M-N > P M ≥ N+P+1

Generalized complement representation of signed integers