SlideShare a Scribd company logo
Chapter 3
Arithmetic for Computers
Chapter 3 — Arithmetic for Computers — 2
Arithmetic for Computers
 Operations on integers
 Addition and subtraction
 Multiplication and division
 Dealing with overflow
 Floating-point real numbers
 Representation and operations
§3.1
Introduction
Chapter 3 — Arithmetic for Computers — 3
Integer Addition
 Example: 7 + 6
§3.2
Addition
and
Subtraction
 Overflow if result out of range
 Adding +ve and –ve operands, no overflow
 Adding two +ve operands
 Overflow if result sign is 1
 Adding two –ve operands
 Overflow if result sign is 0
Chapter 3 — Arithmetic for Computers — 4
Integer Subtraction
 Add negation of second operand
 Example: 7 – 6 = 7 + (–6)
+7: 0000 0000 … 0000 0111
–6: 1111 1111 … 1111 1010
+1: 0000 0000 … 0000 0001
 Overflow if result out of range
 Subtracting two +ve or two –ve operands, no overflow
 Subtracting +ve from –ve operand
 Overflow if result sign is 0
 Subtracting –ve from +ve operand
 Overflow if result sign is 1
Chapter 3 — Arithmetic for Computers — 5
Dealing with Overflow
 Some languages (e.g., C) ignore overflow
 Use MIPS addu, addui, subu instructions
 Other languages (e.g., Ada, Fortran)
require raising an exception
 Use MIPS add, addi, sub instructions
 On overflow, invoke exception handler
 Save PC in exception program counter (EPC)
register
 Jump to predefined handler address
 mfc0 (move from coprocessor reg) instruction can
retrieve EPC value, to return after corrective action
Chapter 3 — Arithmetic for Computers — 6
Multiplication
 Start with long-multiplication approach
1000
× 1001
1000
0000
0000
1000
1001000
Length of product is
the sum of operand
lengths
multiplicand
multiplier
product
§3.3
Multiplication
Chapter 3 — Arithmetic for Computers — 7
Multiplication Hardware
Initially 0
Chapter 3 — Arithmetic for Computers — 8
Optimized Multiplier
 Perform steps in parallel: add/shift
 One cycle per partial-product addition
 That’s ok, if frequency of multiplications is low
Chapter 3 — Arithmetic for Computers — 9
Faster Multiplier
 Uses multiple adders
 Cost/performance tradeoff
 Can be pipelined
 Several multiplication performed in parallel
Chapter 3 — Arithmetic for Computers — 10
Division
 Check for 0 divisor
 Long division approach
 If divisor ≤ dividend bits
 1 bit in quotient, subtract
 Otherwise
 0 bit in quotient, bring down next
dividend bit
 Restoring division
 Do the subtract, and if remainder
goes < 0, add divisor back
 Signed division
 Divide using absolute values
 Adjust sign of quotient and remainder
as required
1001
1000 1001010
-1000
10
101
1010
-1000
10
n-bit operands yield n-bit
quotient and remainder
quotient
dividend
remainder
divisor
§3.4
Division
Chapter 3 — Arithmetic for Computers — 11
Division Hardware
Initially dividend
Initially divisor
in left half
Chapter 3 — Arithmetic for Computers — 12
Optimized Divider
 One cycle per partial-remainder subtraction
 Looks a lot like a multiplier!
 Same hardware can be used for both
Chapter 3 — Arithmetic for Computers — 13
Faster Division
 Can’t use parallel hardware as in multiplier
 Subtraction is conditional on sign of remainder
 Faster dividers (e.g. SRT devision)
generate multiple quotient bits per step
 Still require multiple steps
Chapter 3 — Arithmetic for Computers — 14
Floating Point
 Representation for non-integral numbers
 Including very small and very large numbers
 Like scientific notation
 –2.34 × 1056
 +0.002 × 10–4
 +987.02 × 109
 In binary
 ±1.xxxxxxx2 × 2yyyy
 Types float and double in C
normalized
not normalized
§3.5
Floating
Point
Chapter 3 — Arithmetic for Computers — 15
Floating Point Standard
 Defined by IEEE Std 754-1985
 Developed in response to divergence of
representations
 Portability issues for scientific code
 Now almost universally adopted
 Two representations
 Single precision (32-bit)
 Double precision (64-bit)
Chapter 3 — Arithmetic for Computers — 16
IEEE Floating-Point Format
 S: sign bit (0  non-negative, 1  negative)
 Normalize significand: 1.0 ≤ |significand| < 2.0
 Always has a leading pre-binary-point 1 bit, so no need to
represent it explicitly (hidden bit)
 Significand is Fraction with the “1.” restored
 Exponent: excess representation: actual exponent + Bias
 Ensures exponent is unsigned
 Single: Bias = 127; Double: Bias = 1203
S Exponent Fraction
single: 8 bits
double: 11 bits
single: 23 bits
double: 52 bits
Bias)
(Exponent
S
2
Fraction)
(1
1)
(
x 





Chapter 3 — Arithmetic for Computers — 17
Single-Precision Range
 Exponents 00000000 and 11111111 reserved
 Smallest value
 Exponent: 00000001
 actual exponent = 1 – 127 = –126
 Fraction: 000…00  significand = 1.0
 ±1.0 × 2–126 ≈ ±1.2 × 10–38
 Largest value
 exponent: 11111110
 actual exponent = 254 – 127 = +127
 Fraction: 111…11  significand ≈ 2.0
 ±2.0 × 2+127 ≈ ±3.4 × 10+38
Chapter 3 — Arithmetic for Computers — 18
Double-Precision Range
 Exponents 0000…00 and 1111…11 reserved
 Smallest value
 Exponent: 00000000001
 actual exponent = 1 – 1023 = –1022
 Fraction: 000…00  significand = 1.0
 ±1.0 × 2–1022 ≈ ±2.2 × 10–308
 Largest value
 Exponent: 11111111110
 actual exponent = 2046 – 1023 = +1023
 Fraction: 111…11  significand ≈ 2.0
 ±2.0 × 2+1023 ≈ ±1.8 × 10+308
Chapter 3 — Arithmetic for Computers — 19
Floating-Point Precision
 Relative precision
 all fraction bits are significant
 Single: approx 2–23
 Equivalent to 23 × log102 ≈ 23 × 0.3 ≈ 6 decimal
digits of precision
 Double: approx 2–52
 Equivalent to 52 × log102 ≈ 52 × 0.3 ≈ 16 decimal
digits of precision
Chapter 3 — Arithmetic for Computers — 20
Floating-Point Example
 Represent –0.75
 –0.75 = (–1)1 × 1.12 × 2–1
 S = 1
 Fraction = 1000…002
 Exponent = –1 + Bias
 Single: –1 + 127 = 126 = 011111102
 Double: –1 + 1023 = 1022 = 011111111102
 Single: 1011111101000…00
 Double: 1011111111101000…00
Chapter 3 — Arithmetic for Computers — 21
Floating-Point Example
 What number is represented by the single-
precision float
11000000101000…00
 S = 1
 Fraction = 01000…002
 Fxponent = 100000012 = 129
 x = (–1)1 × (1 + 012) × 2(129 – 127)
= (–1) × 1.25 × 22
= –5.0
Chapter 3 — Arithmetic for Computers — 24
Floating-Point Addition
 Consider a 4-digit decimal example
 9.999 × 101 + 1.610 × 10–1
 1. Align decimal points
 Shift number with smaller exponent
 9.999 × 101 + 0.016 × 101
 2. Add significands
 9.999 × 101 + 0.016 × 101 = 10.015 × 101
 3. Normalize result & check for over/underflow
 1.0015 × 102
 4. Round and renormalize if necessary
 1.002 × 102
Chapter 3 — Arithmetic for Computers — 25
Floating-Point Addition
 Now consider a 4-digit binary example
 1.0002 × 2–1 + –1.1102 × 2–2 (0.5 + –0.4375)
 1. Align binary points
 Shift number with smaller exponent
 1.0002 × 2–1 + –0.1112 × 2–1
 2. Add significands
 1.0002 × 2–1 + –0.1112 × 2–1 = 0.0012 × 2–1
 3. Normalize result & check for over/underflow
 1.0002 × 2–4, with no over/underflow
 4. Round and renormalize if necessary
 1.0002 × 2–4 (no change) = 0.0625
Chapter 3 — Arithmetic for Computers — 28
Interpretation of Data
 Bits have no inherent meaning
 Interpretation depends on the instructions
applied
 Computer representations of numbers
 Finite range and precision
 Need to account for this in programs
The BIG Picture
Chapter 3 — Arithmetic for Computers — 29
Right Shift and Division
 Left shift by i places multiplies an integer
by 2i
 Right shift divides by 2i?
 Only for unsigned integers
 For signed integers
 Arithmetic right shift: replicate the sign bit
 e.g., –5 / 4
 111110112 >> 2 = 111111102 = –2
 Rounds toward –∞
 c.f. 111110112 >>> 2 = 001111102 = +62
§3.8
Fallacies
and
Pitfalls
Chapter 3 — Arithmetic for Computers — 30
Concluding Remarks
 ISAs support arithmetic
 Signed and unsigned integers
 Floating-point approximation to reals
 Bounded range and precision
 Operations can overflow and underflow
 MIPS ISA
 Core instructions: 54 most frequently used
 100% of SPECINT, 97% of SPECFP
 Other instructions: less frequent
§3.9
Concluding
Remarks

More Related Content

PPT
Chapter 3
PPT
Arithmetic for Computers.ppt
PPTX
BOOTH ALGO, DIVISION(RESTORING _ NON RESTORING) etc etc
PPT
CSe_Cumilla Bangladeshrr_Country CSE CSE213_5.ppt
PPTX
Unit 2 Arithmetic
PPTX
Computer Architecture and Organization- arithmetic
PPTX
Chapter 03 arithmetic for computers
PDF
Organisasi dan Arsitektur Komputer MO-08
Chapter 3
Arithmetic for Computers.ppt
BOOTH ALGO, DIVISION(RESTORING _ NON RESTORING) etc etc
CSe_Cumilla Bangladeshrr_Country CSE CSE213_5.ppt
Unit 2 Arithmetic
Computer Architecture and Organization- arithmetic
Chapter 03 arithmetic for computers
Organisasi dan Arsitektur Komputer MO-08

Similar to Arithmetic of Computers (20)

PPTX
Data processing and processor organisation
PPT
3.Floating Point arith.ppt
PPTX
CA Unit ii
PPTX
ARITHMETIC FOR COMPUTERS
PPT
100_2_digitalSystem_Chap1 (2).ppt
PPT
Counit2
PPT
09 arithmetic
PPT
09 arithmetic 2
PPT
09 arithmetic
PPTX
csc221_lecture_03_datarepresentation_02.pptx
PDF
Chpater 6
PPT
Computer organiztion2
PPTX
digital logic circuits, digital component floting and fixed point
PPT
L12-FloatingPoint.ppt
PDF
Computer Architecture: ARITHMETIC FOR COMPUTERS
PPTX
Computer Architecture
PPTX
Computer Architecture
PPTX
Floating point representation and arithmetic
PPTX
B.sc cs-ii-u-1.8 digital logic circuits, digital component floting and fixed ...
PPTX
module 1_class_numbers.pptx
Data processing and processor organisation
3.Floating Point arith.ppt
CA Unit ii
ARITHMETIC FOR COMPUTERS
100_2_digitalSystem_Chap1 (2).ppt
Counit2
09 arithmetic
09 arithmetic 2
09 arithmetic
csc221_lecture_03_datarepresentation_02.pptx
Chpater 6
Computer organiztion2
digital logic circuits, digital component floting and fixed point
L12-FloatingPoint.ppt
Computer Architecture: ARITHMETIC FOR COMPUTERS
Computer Architecture
Computer Architecture
Floating point representation and arithmetic
B.sc cs-ii-u-1.8 digital logic circuits, digital component floting and fixed ...
module 1_class_numbers.pptx
Ad

Recently uploaded (20)

PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
Sustainable Sites - Green Building Construction
PPTX
web development for engineering and engineering
PPTX
Construction Project Organization Group 2.pptx
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
additive manufacturing of ss316l using mig welding
PPT
Project quality management in manufacturing
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
DOCX
573137875-Attendance-Management-System-original
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
CYBER-CRIMES AND SECURITY A guide to understanding
Sustainable Sites - Green Building Construction
web development for engineering and engineering
Construction Project Organization Group 2.pptx
Internet of Things (IOT) - A guide to understanding
Foundation to blockchain - A guide to Blockchain Tech
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
additive manufacturing of ss316l using mig welding
Project quality management in manufacturing
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
Operating System & Kernel Study Guide-1 - converted.pdf
573137875-Attendance-Management-System-original
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Automation-in-Manufacturing-Chapter-Introduction.pdf
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Ad

Arithmetic of Computers

  • 2. Chapter 3 — Arithmetic for Computers — 2 Arithmetic for Computers  Operations on integers  Addition and subtraction  Multiplication and division  Dealing with overflow  Floating-point real numbers  Representation and operations §3.1 Introduction
  • 3. Chapter 3 — Arithmetic for Computers — 3 Integer Addition  Example: 7 + 6 §3.2 Addition and Subtraction  Overflow if result out of range  Adding +ve and –ve operands, no overflow  Adding two +ve operands  Overflow if result sign is 1  Adding two –ve operands  Overflow if result sign is 0
  • 4. Chapter 3 — Arithmetic for Computers — 4 Integer Subtraction  Add negation of second operand  Example: 7 – 6 = 7 + (–6) +7: 0000 0000 … 0000 0111 –6: 1111 1111 … 1111 1010 +1: 0000 0000 … 0000 0001  Overflow if result out of range  Subtracting two +ve or two –ve operands, no overflow  Subtracting +ve from –ve operand  Overflow if result sign is 0  Subtracting –ve from +ve operand  Overflow if result sign is 1
  • 5. Chapter 3 — Arithmetic for Computers — 5 Dealing with Overflow  Some languages (e.g., C) ignore overflow  Use MIPS addu, addui, subu instructions  Other languages (e.g., Ada, Fortran) require raising an exception  Use MIPS add, addi, sub instructions  On overflow, invoke exception handler  Save PC in exception program counter (EPC) register  Jump to predefined handler address  mfc0 (move from coprocessor reg) instruction can retrieve EPC value, to return after corrective action
  • 6. Chapter 3 — Arithmetic for Computers — 6 Multiplication  Start with long-multiplication approach 1000 × 1001 1000 0000 0000 1000 1001000 Length of product is the sum of operand lengths multiplicand multiplier product §3.3 Multiplication
  • 7. Chapter 3 — Arithmetic for Computers — 7 Multiplication Hardware Initially 0
  • 8. Chapter 3 — Arithmetic for Computers — 8 Optimized Multiplier  Perform steps in parallel: add/shift  One cycle per partial-product addition  That’s ok, if frequency of multiplications is low
  • 9. Chapter 3 — Arithmetic for Computers — 9 Faster Multiplier  Uses multiple adders  Cost/performance tradeoff  Can be pipelined  Several multiplication performed in parallel
  • 10. Chapter 3 — Arithmetic for Computers — 10 Division  Check for 0 divisor  Long division approach  If divisor ≤ dividend bits  1 bit in quotient, subtract  Otherwise  0 bit in quotient, bring down next dividend bit  Restoring division  Do the subtract, and if remainder goes < 0, add divisor back  Signed division  Divide using absolute values  Adjust sign of quotient and remainder as required 1001 1000 1001010 -1000 10 101 1010 -1000 10 n-bit operands yield n-bit quotient and remainder quotient dividend remainder divisor §3.4 Division
  • 11. Chapter 3 — Arithmetic for Computers — 11 Division Hardware Initially dividend Initially divisor in left half
  • 12. Chapter 3 — Arithmetic for Computers — 12 Optimized Divider  One cycle per partial-remainder subtraction  Looks a lot like a multiplier!  Same hardware can be used for both
  • 13. Chapter 3 — Arithmetic for Computers — 13 Faster Division  Can’t use parallel hardware as in multiplier  Subtraction is conditional on sign of remainder  Faster dividers (e.g. SRT devision) generate multiple quotient bits per step  Still require multiple steps
  • 14. Chapter 3 — Arithmetic for Computers — 14 Floating Point  Representation for non-integral numbers  Including very small and very large numbers  Like scientific notation  –2.34 × 1056  +0.002 × 10–4  +987.02 × 109  In binary  ±1.xxxxxxx2 × 2yyyy  Types float and double in C normalized not normalized §3.5 Floating Point
  • 15. Chapter 3 — Arithmetic for Computers — 15 Floating Point Standard  Defined by IEEE Std 754-1985  Developed in response to divergence of representations  Portability issues for scientific code  Now almost universally adopted  Two representations  Single precision (32-bit)  Double precision (64-bit)
  • 16. Chapter 3 — Arithmetic for Computers — 16 IEEE Floating-Point Format  S: sign bit (0  non-negative, 1  negative)  Normalize significand: 1.0 ≤ |significand| < 2.0  Always has a leading pre-binary-point 1 bit, so no need to represent it explicitly (hidden bit)  Significand is Fraction with the “1.” restored  Exponent: excess representation: actual exponent + Bias  Ensures exponent is unsigned  Single: Bias = 127; Double: Bias = 1203 S Exponent Fraction single: 8 bits double: 11 bits single: 23 bits double: 52 bits Bias) (Exponent S 2 Fraction) (1 1) ( x      
  • 17. Chapter 3 — Arithmetic for Computers — 17 Single-Precision Range  Exponents 00000000 and 11111111 reserved  Smallest value  Exponent: 00000001  actual exponent = 1 – 127 = –126  Fraction: 000…00  significand = 1.0  ±1.0 × 2–126 ≈ ±1.2 × 10–38  Largest value  exponent: 11111110  actual exponent = 254 – 127 = +127  Fraction: 111…11  significand ≈ 2.0  ±2.0 × 2+127 ≈ ±3.4 × 10+38
  • 18. Chapter 3 — Arithmetic for Computers — 18 Double-Precision Range  Exponents 0000…00 and 1111…11 reserved  Smallest value  Exponent: 00000000001  actual exponent = 1 – 1023 = –1022  Fraction: 000…00  significand = 1.0  ±1.0 × 2–1022 ≈ ±2.2 × 10–308  Largest value  Exponent: 11111111110  actual exponent = 2046 – 1023 = +1023  Fraction: 111…11  significand ≈ 2.0  ±2.0 × 2+1023 ≈ ±1.8 × 10+308
  • 19. Chapter 3 — Arithmetic for Computers — 19 Floating-Point Precision  Relative precision  all fraction bits are significant  Single: approx 2–23  Equivalent to 23 × log102 ≈ 23 × 0.3 ≈ 6 decimal digits of precision  Double: approx 2–52  Equivalent to 52 × log102 ≈ 52 × 0.3 ≈ 16 decimal digits of precision
  • 20. Chapter 3 — Arithmetic for Computers — 20 Floating-Point Example  Represent –0.75  –0.75 = (–1)1 × 1.12 × 2–1  S = 1  Fraction = 1000…002  Exponent = –1 + Bias  Single: –1 + 127 = 126 = 011111102  Double: –1 + 1023 = 1022 = 011111111102  Single: 1011111101000…00  Double: 1011111111101000…00
  • 21. Chapter 3 — Arithmetic for Computers — 21 Floating-Point Example  What number is represented by the single- precision float 11000000101000…00  S = 1  Fraction = 01000…002  Fxponent = 100000012 = 129  x = (–1)1 × (1 + 012) × 2(129 – 127) = (–1) × 1.25 × 22 = –5.0
  • 22. Chapter 3 — Arithmetic for Computers — 24 Floating-Point Addition  Consider a 4-digit decimal example  9.999 × 101 + 1.610 × 10–1  1. Align decimal points  Shift number with smaller exponent  9.999 × 101 + 0.016 × 101  2. Add significands  9.999 × 101 + 0.016 × 101 = 10.015 × 101  3. Normalize result & check for over/underflow  1.0015 × 102  4. Round and renormalize if necessary  1.002 × 102
  • 23. Chapter 3 — Arithmetic for Computers — 25 Floating-Point Addition  Now consider a 4-digit binary example  1.0002 × 2–1 + –1.1102 × 2–2 (0.5 + –0.4375)  1. Align binary points  Shift number with smaller exponent  1.0002 × 2–1 + –0.1112 × 2–1  2. Add significands  1.0002 × 2–1 + –0.1112 × 2–1 = 0.0012 × 2–1  3. Normalize result & check for over/underflow  1.0002 × 2–4, with no over/underflow  4. Round and renormalize if necessary  1.0002 × 2–4 (no change) = 0.0625
  • 24. Chapter 3 — Arithmetic for Computers — 28 Interpretation of Data  Bits have no inherent meaning  Interpretation depends on the instructions applied  Computer representations of numbers  Finite range and precision  Need to account for this in programs The BIG Picture
  • 25. Chapter 3 — Arithmetic for Computers — 29 Right Shift and Division  Left shift by i places multiplies an integer by 2i  Right shift divides by 2i?  Only for unsigned integers  For signed integers  Arithmetic right shift: replicate the sign bit  e.g., –5 / 4  111110112 >> 2 = 111111102 = –2  Rounds toward –∞  c.f. 111110112 >>> 2 = 001111102 = +62 §3.8 Fallacies and Pitfalls
  • 26. Chapter 3 — Arithmetic for Computers — 30 Concluding Remarks  ISAs support arithmetic  Signed and unsigned integers  Floating-point approximation to reals  Bounded range and precision  Operations can overflow and underflow  MIPS ISA  Core instructions: 54 most frequently used  100% of SPECINT, 97% of SPECFP  Other instructions: less frequent §3.9 Concluding Remarks

Editor's Notes