Representing Integer Data

Slides:



Advertisements
Similar presentations
HEXADECIMAL NUMBERS Code
Advertisements

COE 202: Digital Logic Design Signed Numbers
Chapter 2 : Number System
CHAPTER 4: Representing Integer Data The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander.
King Fahd University of Petroleum and Minerals
CS 151 Digital Systems Design Lecture 3 More Number Systems.
Computer ArchitectureFall 2008 © August 25, CS 447 – Computer Architecture Lecture 3 Computer Arithmetic (1)
1 Binary Arithmetic, Subtraction The rules for binary arithmetic are: = 0, carry = = 1, carry = = 1, carry = = 0, carry =
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
ECE 331 – Digital System Design
ENGIN112 L3: More Number Systems September 8, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 3 More Number Systems.
Computer ArchitectureFall 2007 © August 29, 2007 Karem Sakallah CS 447 – Computer Architecture.
Number Systems Lecture 02.
COMP201 Computer Systems Number Representation. Number Representation Introduction Number Systems Integer Representations Examples  Englander Chapter.
1 Lecture 2: Number Systems Binary numbers Base conversion Arithmetic Number systems  Sign and magnitude  Ones-complement  Twos-complement Binary-coded.
3. Representing Integer Data
NEGATIVE BINARY NUMBER – Digital Circuit 1 Choopan Rattanapoka.
The Binary Number System
Computer Organization & Programming Chapter2 Number Representation and Logic Operations.
Number Representations and Computer Arithmetic. CS 21a 9/23/02 Odds and Ends Slide 2 © Luis F. G. Sarmenta and John Paul Vergara, Ateneo de Manila University.
Data Representation – Binary Numbers
Computer Organization and Architecture Computer Arithmetic Chapter 9.
Computer Arithmetic Nizamettin AYDIN
Representing Integer Data Book : Chapter ( Subject has no point !! ) A99ACF.
CHAPTER 5: Representing Numerical Data
1 Digital Technology and Computer Fundamentals Chapter 1 Data Representation and Numbering Systems.
1 Lecture 5 Floating Point Numbers ITEC 1000 “Introduction to Information Technology”
IT253: Computer Organization
Complement Numbers. Outline  Negative Numbers Representation  Sign-and-magnitude  1s Complement  2s Complement  Comparison of Sign-and-Magnitude.
CH09 Computer Arithmetic  CPU combines of ALU and Control Unit, this chapter discusses ALU The Arithmetic and Logic Unit (ALU) Number Systems Integer.
CPS120: Introduction to Computer Science Computer Math: Signed Numbers.
Oct. 18, 2007SYSC 2001* - Fall SYSC2001-Ch9.ppt1 See Stallings Chapter 9 Computer Arithmetic.
CSE 241 Computer Organization Lecture # 9 Ch. 4 Computer Arithmetic Dr. Tamer Samy Gaafar Dept. of Computer & Systems Engineering.
+ CS 325: CS Hardware and Software Organization and Architecture Integers and Arithmetic Part 2.
ECE 301 – Digital Electronics Unsigned and Signed Numbers, Binary Arithmetic of Signed Numbers, and Binary Codes (Lecture #2)
1 IT 231, CMPE 331 Digital Logic Design Week 2 Number systems and arithmetic.
ECE 2110: Introduction to Digital Systems Signed Addition/Subtraction.
Computer Math CPS120 Introduction to Computer Science Lecture 4.
Tutorial: ITI1100 Dewan Tanvir Ahmed SITE, UofO
Digital Logic Lecture 3 Binary Arithmetic By Zyad Dwekat The Hashemite University Computer Engineering Department.
Digital Representations ME 4611 Binary Representation Only two states (0 and 1) Easy to implement electronically %0= (0) 10 %1= (1) 10 %10= (2) 10 %11=
CS1Q Computer Systems Lecture 2 Simon Gay. Lecture 2CS1Q Computer Systems - Simon Gay2 Binary Numbers We’ll look at some details of the representation.
Chapter 4 Integer Data Representation. Unsigned Integers.
CEC 220 Digital Circuit Design Binary Arithmetic & Negative Numbers Monday, January 13 CEC 220 Digital Circuit Design Slide 1 of 14.
CEC 220 Digital Circuit Design Binary Arithmetic & Negative Numbers Fri, Aug 28 CEC 220 Digital Circuit Design Slide 1 of 14.
IT1004: Data Representation and Organization Negative number representation.
ECE DIGITAL LOGIC LECTURE 3: DIGITAL COMPUTER AND NUMBER SYSTEMS Assistant Prof. Fareena Saqib Florida Institute of Technology Fall 2016, 01/19/2016.
Computer Organization 1 Data Representation Negative Integers.
ECE 3110: Introduction to Digital Systems Signed Number Conversions and operations.
Computer Math CPS120 Introduction to Computer Science Lecture 7.
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 Integer Representations V1.0 (22/10/2005). 2 Integer Representations  Unsigned integer  Signed integer  Sign and magnitude  Complements  One’s.
CHAPTER 5: Representing Numerical Data
CS2100 Computer Organisation
Design of Digital Circuits Reading: Binary Numbers
CHAPTER 4: Representing Integer Data
Data Representation in Computer Systems
ECEG-3202 Computer Architecture and Organization
Unit 18: Computational Thinking
Presentation transcript:

Representing Integer Data ITEC 1000 “Introduction to Information Technology” Lecture 3 Representing Integer Data

Lecture Template: Number Representation Unsigned Integer Complementary Representation 9’s Decimal Representation (skip) 1’s Binary Representation (skip) 10’s Decimal Representation 2’s Binary Representation

Number Representation An integer is a number which has no fractional part. Numbers can be represented as a combination of Sign (plus or minus) Value or magnitude

Unsigned Integer (Natural Number) 8-bit storage location 28 different values between 0 and 255 16-bit storage location 216 different values between 0 and 65535 multiple storage locations 4 consecutive 1-byte storage locations provide 32 bits of range 232, or 4,294,967,296 different values difficult to calculate and manipulate

32-bit multiple storage location

Signed-Integer Representation No obvious direct way to represent the sign in binary notation Options: Sign-and-magnitude representation 1’s complement (skip – confusing) 2’s complement (most common)

Sign-and-Magnitude Use left-most bit for sign 0 = plus; 1 = minus Total range of integers the same Half of integers positive; half negative Magnitude of largest integer half as large Example using 8 bits: Unsigned: 1111 1111 = +255 Signed: 0111 1111 = +127 1111 1111 = -127 Note: 2 values for 0: +0 (0000 0000) and -0 (1000 0000)

Calculation Algorithms Sign-and-magnitude algorithms complex and difficult to implement in hardware Must test for 2 values of 0 Useful with BCD (see slides at end) Order of signed number and carry/borrow makes a difference Example: Decimal addition algorithm Addition: 2 Positive Numbers Addition: 1 Signed Number 4 +2 6 4 - 2 2 2 - 4 -2 12 - 4 8

Ranges No. of bits Binary Unsigned Sign-magnitude Min Max 1 2 3 -1 7 2 3 -1 7 -3 4 15 -7 5 31 -15 6 63 -31 Etc.

Ranges: General Rule No. of bits Binary Unsigned Sign-magnitude Min Max n 2n - 1 -(2n-1 - 1) 2n-1 - 1

Complementary Representation Sign of the number does not have to be handled separately Consistent for all different signed combinations of input numbers Two methods Radix: value used is the base number Diminished radix: value used is the base number minus 1 (skip – confusing) 9’s complement: base 10 diminished radix 1’s complement: base 2 diminished radix

10’s Decimal Complement Complement representation: (1) positive number: remains itself; (2) negative number: subtracting its absolute value from a standard basis value Decimal (base 10) system: radix complement Radix = 10 10 as the basis 3-digit example: base value = 1000 Range of possible values 0 to 999 arbitrarily split at 500 Numbers Negative Positive Representation method Complement Number itself Range of decimal numbers -500 -1 +0 499 Calculation 1000 minus abs(number) none Representation example 500 999 – Increasing value + 1000 – 500

10’s Decimal Complement Necessary to specify number of digits or word size 10’s complement representation in “1000” base Example: representation of 3-digit number First digit = 0 through 4 positive number First digit = 5 through 9 negative number

Examples with 3-Digit Numbers 10’s complement representation of 247 247 (positive number) Example 2: 10’s complement representation of -247 1000 – 247 = 753 (negative number) Example 3: Find a value with 10’s complement representation 777 Negative number because first digit is 7 1000 – 777 = 223 Signed value = -223

10’s Decimal Complement Conversion to sign-and-magnitude value for 9’s complement representation(3 digits) 321 remains +321 521: take the difference: base minus complement (999 – 521) with negative sign: – 479

Addition: Counting Upwards Counting upward on scale corresponds to addition Example in 10’s complement: does not cross the modulus +250 Representation 500 650 900 999 170 420 499 Number represented -500 -350 -100 -1 +0

Addition with Wraparound Count to the right to add a negative number to the representation (since the complement 700 represents the value of -300) Wraparound scale used to extend the range for the negative result +700 Representation 500 999 200 499 900 Number represented -500 -1 -100 -300

Addition with End-around Carry Count to the right crosses the modulus +300 Representation 500 800 999 100 499 Number represented -500 -200 -1 800 300 1100 100

Overflow Fixed word size has a fixed range size Overflow: combination of numbers that adds to result outside the range End-around carry in modular arithmetic avoids problem Complementary arithmetic: numbers out of range have the opposite sign Test: If both inputs to an addition have the same sign and the output sign is different, an overflow occurred

2’s Binary Complement Binary system complement Binary (base 2) system radix complement Radix = 2 2 as the basis Inversion: change 1’s to 0’s and 0’s to 1s (add 1) Numbers beginning with 0 are positive Numbers beginning with 1 are negative Example with 8-bit binary numbers

2’s Complement 2’s complement representation: Positive value represents itself Negative value: invert and add “1” Numbers Negative Positive Representation method Complement Number itself Range of decimal numbers -12810 -110 +010 12710 Calculation Inversion None Representation example 10000000 11111111 00000000 01111111

Example: 2’s Complement Represent –5 in binary using 2’s complement notation Decide on the number of bits: Find the binary representation of the +ve value in 6 bits Invert all the bits: Add 1 6 (for example) 000101 +5 111010 111010 + 1 111011 -5

Sign Bit in 2’s Complement In 2’s complement representation, the MSB is the sign bit (as with sign-magnitude notation) 0 = positive value 1 = negative value +5: 0 0 0 1 0 1 +ve 5 -5: 1 1 1 0 1 1 -ve

Estimating Integer Value of 2’s Complement Representation Positive numbers begin with 0 Small negative numbers (close to 0) begin with multiple 1’s 1111 1110 = -2 in 8-bit 2’s complements 1000 0000 = -128, largest negative 2’s complements Invert all 1’s and 0’s, add “1” and approximate the value

Exercise: 2’s complement conversions What is -20 expressed as an 8-bit binary number in 2’s complement representation? Answer: 1100011 is a 7-bit binary number in 2’s complement representation. What is the decimal sign-and-magnitude value? Skip answer Answer

Exercise: 2’s complement conversions Answer What is -20 expressed as an 8-bit binary number in 2’s complement notation? Answer: 11101100 1100011 is a 7-bit binary number in 2’s complement notation. What is the decimal value? Answer: -29

Detail for -20 -> 11101100 -2010: Positive Value = 00010100 Invert: 11101011 Add 1: + 1 11101100

Detail for 1100011 -> - 29 2’s Complement Rep: 1100011 Invert: 0011100 Add One: + 1 0011101 Converts to: = - 29

Arithmetic in 2’s Complement Add 2 positive 8-bit numbers Add 2 8-bit numbers with different signs Take the 1’s complement of 58 (i.e. invert, add 1) 0011 1010 1100 0110 0010 1101 = 45 0011 1010 58 0110 0111 103 0010 1101 = 45 1100 0110 –58 1111 0011 –13 Invert to get magnitude 0000 1101 8 + 4 + 1 = 13

Addition with Carry in 2’s Complement 8-bit number Invert (add 1) 0000 0010 (210) 1111 1110 Add drop final carry out 0110 1010 = 106 1111 1110 –2 10110 1000 104 (drop 1) 0110 1000

Subtraction 8-bit number Invert (add 1) 0101 1010 (9010) 1010 0110 Add drop final carry out 0110 1010 = 106 -0101 1010 90 –1010 0110 10001 0000 (drop 1) 0001 0000 16

Overflow 8-bit number Add 256 different numbers Positive numbers: 0 to 127 Add Test for overflow 2 positive inputs produced negative result overflow! Wrong answer! Programmers beware: some high-level languages, e.g., some versions of BASIC, do not check for overflow adequately 0100 0000 = 64 0100 0001 65 1000 0001 -127 0111 1110 12710 Invert to get magnitude

Overflow and Carry Conditions Carry flag: set when the result of an addition or subtraction exceeds fixed number of bits allocated Overflow: result of addition or subtraction overflows into the sign bit

Overflow/Carry Examples Correct result No overflow, no carry Example 2: Incorrect result Overflow, no carry 0100 = (+ 4) 0010 + (+ 2) 0110 (+ 6) 0100 = (+ 4) 0110 + (+ 6) 1010 (– 6) 0101 + 1 0110 Invert, then add 1 to get magnitude

Overflow/Carry Examples Result correct ignoring the carry Carry but no overflow Example 4: Incorrect result Overflow, carry ignored 1100 = (– 4) 1110 + (– 2) 11010 (– 6) 1100 = (– 4) 1010 + (– 6) 10110 (+ 3)

2’s Complement Subtraction Just add the opposite value! A – B = A + (-B) add 2’s complement rep. of -B

Not quite finished => BCD Reading: Lecture slides and Chapter 5 Not quite finished => BCD

Unsigned Integers Binary equivalent BCD: Binary-Coded Decimal conversion as discussed in Lecture 2 4 bits can hold 16 different values 0 – 15 8 bits can hold 28 different values between 0 and 255 BCD: Binary-Coded Decimal digit-by-digit individual conversion to binary 4 bits per decimal digit, i.e. 10 different values 0 - 9 8-bit storage location can hold 2 BCD digits, i.e. 100 different values 00 - 99

Binary vs. BCD Decimal Binary BCD 68 = 0100 0100 = 0110 1000 = 0100 0100 = 0110 1000 = 26 + 22 = 64 + 4 = 68 = 22 + 21 = 6 23 = 8 99 (largest 8-bit BCD) = 0110 0011 = 1001 1001 = 26 + 25 + 21 + 20 = = 64 + 32 + 2 + 1 = 99 = 23 + 20 23 + 20 = 9 9 255 (largest 8-bit binary) = 1111 1111 = 0010 0101 0101 = 28 – 1 = 255 8 bits = 21 22 + 20 22 + 20 = 2 5 5 12 bits

Value Range: Binary vs. BCD No. of Bits BCD Range Binary Range 4 0-9 1 digit 0-15 1+ digit 8 0-99 2 digits 0-255 2+ digits 12 0-999 3 digits 0-4,095 3+ digits 16 0-9,999 4 digits 0-65,535 4+ digits 20 0-99,999 5 digits 0-1 million 6 digits 24 0-999,999 0-16 million 7+ digits 32 0-99,999,999 8 digits 0-4 billion 9+ digits 64 0-(1016-1) 16 digits 0-16 quintillion 19+ digits

Simple BCD Multiplication

Conventional Binary vs. BCD Binary representation generally preferred greater range of value for given number of bits calculations easier BCD is still used in business applications to maintain decimal rounding and decimal precision in applications with a lot of input and output, but limited calculations