SlideShare a Scribd company logo
1
Floating Point Numbers
Patt and Patel Ch. 2
2
Floating Point Numbers
Floating Point Numbers
• Registers for real numbers usually contain 32
or 64 bits, allowing 232 or 264 numbers to be
represented.
• Which reals to represent? There are an
infinite number between 2 adjacent integers.
(or two reals!!)
• Which bit patterns for reals selected?
• Answer: use scientific notation
3
A B A x 10B
0 any 0
1 .. 9 0 1 .. 9
1 .. 9 1 10 .. 90
1 .. 9 2 100 .. 900
1 .. 9 -1 0.1 .. 0.9
1 .. 9 -2 0.01 .. 0.09
Consider: A x 10B, where A is one digit
How to do scientific notation in binary?
Standard: IEEE 754 Floating-Point
Floating Point Numbers
4
IEEE 754 Single Precision Floating Point Format
Representation:
S E F
•S is one bit representing the sign of the number
•E is an 8 bit biased integer representing the exponent
•F is an unsigned integer
The true value represented is: (-1)S x f x 2e
• S = sign bit
• e = E – bias
• f = F/2n + 1
• for single precision numbers n=23, bias=127
5
S, E, F all represent fields within a representation. Each
is just a bunch of bits.
S is the sign bit
• (-1)S  (-1)0 = +1 and (-1)1 = -1
• Just a sign bit for signed magnitude
E is the exponent field
• The E field is a biased-127 representation.
• True exponent is (E – bias)
• The base (radix) is always 2 (implied).
• Some early machines used radix 4 or 16 (IBM)
IEEE 754 Single Precision Floating Point Format
6
F (or M) is the fractional or mantissa field.
• It is in a strange form.
• There are 23 bits for F.
• A normalized FP number always has a leading 1.
• No need to store the one, just assume it.
• This MSB is called the HIDDEN BIT.
IEEE 754 Single Precision Floating Point Format
7
How to convert 64.2 into IEEE SP
1. Get a binary representation for 64.2
• Binary of left of radix pointis:
• Binary of right of radix
.2 x 2 = 0.4 0
.4 x 2 = 0.8 0
.8 x 2 = 1.6 1
.6 x 2 = 1.2 1
• Binary for .2:
• 64.2 is:
2. Normalize binary form
• Produces:
8
Floating Point
•Since floating point numbers are always stored in
normal form, how do we represent 0?
•0x0000 0000 and 0x8000 0000 represent 0.
•What numbers cannot be represented because of this?
3. Turn true exponent into bias-127
4. Put it together:
23-bit F is:
S E F is:
In hex:
9
IEEE Floating Point Format
Other special values:
• + 5 / 0 = +∞
• +∞ = 0 11111111 00000… (0x7f80 0000)
• -7/0 = -∞
• -∞ = 1 11111111 00000… (0xff80 0000)
• 0/0 or + ∞ + -∞ = NaN (Not a number)
• NaN ? 11111111 ?????…
(S is either 0 or 1, E=0xff, and F is anything but
all zeroes)
• Also de-normalized numbers (beyond scope)
10
IEEE Floating Point
What is the decimal value for this SP FP number
0x4228 0000?
11
IEEE Floating Point
What is 47.62510 in SP FP format?
12
What do floating-point numbers represent?
• Rational numbers with non-repeating expansions
in the given base within the specified exponent range.
• They do not represent repeating rational or irrational
numbers, or any number too small or too large.
Floating Point Format
13
IEEE Double Precision FP
• IEEE Double Precision is similar to SP
– 52-bit M
• 53 bits of precision with hidden bit
– 11-bit E, excess 1023, representing –1023 <- -> 2046
– One sign bit
• Always use DP unless memory/file size is important
– SP ~ 10-38 … 1038
– DP ~ 10-308 … 10308
• Be very careful of these ranges in numeric
computation
14
More Conversions
• 113.910 = ??SP FP
15
More …
• -125.510 = ?SP FP
16
And More Conversions
• 0xC3066666
17
And more …
• 0xC3805000 =
18
Floating Point Arithmetic
Floating Point operations include
•Addition
•Subtraction
•Multiplication
•Division
They are complicated because…
19
Floating Point Addition
1. Align decimal points
2. Add
3. Normalize the result
• Often already normalized
• Otherwise move one digit
1.0001631 x 103
4. Round result
1.000 x 103
9.997 x 102
+ 4.631 x 10-1
9.997 x 102
+ 0.004631 x 102
10.001631 x 102
Decimal Review
How do we do this?
20
Floating Point Addition
First step: get into SP FP if not already
.25 = 0 01111101 00000000000000000000000
100 = 0 10000101 10010000000000000000000
Or with hidden bit
.25 = 0 01111101 1 00000000000000000000000
100 = 0 10000101 1 10010000000000000000000
Example: 0.25 + 100 in SP FP
Hidden Bit
21
Second step: Align radix points
– Shifting F left by 1 bit, decreasing e by 1
– Shifting F right by 1 bit, increasing e by 1
– Shift F right so least significant bits fall off
– Which of the two numbers should we shift?
Floating Point Addition
22
Floating Point Addition
Shift the .25 to increase its exponent so it matches
that of 100.
0.25’s e: 01111101 – 1111111 (127) =
100’s e: 10000101 – 1111111 (127) =
Shift .25 by 8 then.
Easier method: Bias cancels with subtraction, so
Second step: Align radix points cont.
10000101
- 01111101
00001000
100’s E
0.25’s E
23
Carefully shifting the 0.25’s fraction
S E HB F
• 0 01111101 1 00000000000000000000000 (original value)
• 0 01111110 0 10000000000000000000000 (shifted by 1)
• 0 01111111 0 01000000000000000000000 (shifted by 2)
• 0 10000000 0 00100000000000000000000 (shifted by 3)
• 0 10000001 0 00010000000000000000000 (shifted by 4)
• 0 10000010 0 00001000000000000000000 (shifted by 5)
• 0 10000011 0 00000100000000000000000 (shifted by 6)
• 0 10000100 0 00000010000000000000000 (shifted by 7)
• 0 10000101 0 00000001000000000000000 (shifted by 8)
Floating Point Addition
24
Floating Point Addition
Third Step: Add fractions with hidden bit
0 10000101 1 10010000000000000000000 (100)
+ 0 10000101 0 00000001000000000000000 (.25)
0 10000101 1 10010001000000000000000
Fourth Step: Normalize the result
• Get a ‘1’ back in hidden bit
• Already normalized most of the time
• Remove hidden bit and finished
25
Normalization example
S E HB F
0 011 1 1100
+ 0 011 1 1011
0 011 11 0111
Need to shift so that only a 1 in HB spot
0 100 1 1011 1 -> discarded
Floating Point Addition
26
Floating Point Subtraction
•Mantissa’s are sign-magnitude
•Watch out when the numbers are close
1.23455 x 102
- 1.23456 x 102
•A many-digit normalization is possible
This is why FP addition is in many ways more
difficult than FP multiplication
27
Floating Point Subtraction
1. Align radix points
2. Perform sign-magnitude operand swap if
needed
• Compare magnitudes (with hidden bit)
• Change sign bit if order of operands is
changed.
3. Subtract
4. Normalize
5. Round
Steps to do subtraction
28
S E HB F
0 011 1 1011 smaller
- 0 011 1 1101 bigger
switch order and make result negative
0 011 1 1101 bigger
- 0 011 1 1011 smaller
1 011 0 0010
1 000 1 0000 switched sign
Floating Point Subtraction
Simple Example:
29
Floating Point Multiplication
1. Multiply mantissas
3.0
x 5.0
15.00
2. Add exponents
1 + 2 = 3
3. Combine
15.00 x 103
4. Normalize if needed
1.50 x 104
Decimal example:
3.0 x 101
x 5.0 x 102
How do we do this?
30
Floating Point Multiplication
Multiplication in binary (4-bit F)
0 10000100 0100
x 1 00111100 1100
Step 1: Multiply mantissas
(put hidden bit back first!!)
1.0100
x 1.1100
00000
00000
10100
10100
+ 10100
1000110000
10.00110000
31
Floating Point Multiplication
Second step: Add exponents, subtract extra bias.
10000100
+ 00111100
Third step: Renormalize, correcting exponent
1 01000001 10.00110000
Becomes
1 01000010 1.000110000
Fourth step: Drop the hidden bit
1 01000010 000110000
11000000
11000000
- 01111111 (127)
01000001
32
Multiply these SP FP numbers together
0x49FC0000
x 0x4BE00000
Floating Point Multiplication
33
• True division
– Unsigned, full-precision division on mantissas
– This is much more costly (e.g. 4x) than mult.
– Subtract exponents
• Faster division
– Newton’s method to find reciprocal
– Multiply dividend by reciprocal of divisor
– May not yield exact result without some work
– Similar speed as multiplication
Floating Point Division
34
Floating Point Summary
• Has 3 portions, S, E, F/M
• Do conversion in parts
• Arithmetic is signed magnitude
• Subtraction could require many shifts
for renormalization
• Multiplication is easier since do not have
to match exponents
35
Questions?
36

More Related Content

PPT
Counit2
PPT
09 arithmetic
PPT
09 arithmetic
PPT
09 arithmetic 2
PPT
11Introduction_Floating_Point_Arithmetic.ppt
PPTX
csc221_lecture_03_datarepresentation_02.pptx
PPT
09 arithmetic
Counit2
09 arithmetic
09 arithmetic
09 arithmetic 2
11Introduction_Floating_Point_Arithmetic.ppt
csc221_lecture_03_datarepresentation_02.pptx
09 arithmetic

Similar to Single Precision Floating Point Format.ppt (20)

PPT
arithmetic
PPTX
Implementation of character translation integer and floating point values
PPTX
BOOTH ALGO, DIVISION(RESTORING _ NON RESTORING) etc etc
PPTX
Computer Organization - Arithmetic & Logic Unit.pptx
PPT
09 Arithmetic
PPTX
DEC Unit 1 Full-1.pptx Boolean Algebra and Logic gates
PPTX
B.sc cs-ii-u-1.8 digital logic circuits, digital component floting and fixed ...
PPTX
Bca 2nd sem-u-1.8 digital logic circuits, digital component floting and fixed...
PPTX
digital logic circuits, digital component floting and fixed point
PPT
02 number systems
PPT
3.Fixed-Floating Point.ppt
PDF
Finite word length effects
PPTX
Only floating point lecture 7 (1)
PDF
LEC-3-CAO-FLOATING-POINT-REPRESENTATION.pdf
PDF
Floating_point_representation.pdf
PDF
MCS222-DDCA-Lec.7-111111111111111111.pdf
PDF
Digital Electronics – Unit I.pdf
PPT
Week - 01, 02, 03 Bits-n-Pieces Chapter 1.ppt
PPT
number system.ppt
PPT
Number system and codes
arithmetic
Implementation of character translation integer and floating point values
BOOTH ALGO, DIVISION(RESTORING _ NON RESTORING) etc etc
Computer Organization - Arithmetic & Logic Unit.pptx
09 Arithmetic
DEC Unit 1 Full-1.pptx Boolean Algebra and Logic gates
B.sc cs-ii-u-1.8 digital logic circuits, digital component floting and fixed ...
Bca 2nd sem-u-1.8 digital logic circuits, digital component floting and fixed...
digital logic circuits, digital component floting and fixed point
02 number systems
3.Fixed-Floating Point.ppt
Finite word length effects
Only floating point lecture 7 (1)
LEC-3-CAO-FLOATING-POINT-REPRESENTATION.pdf
Floating_point_representation.pdf
MCS222-DDCA-Lec.7-111111111111111111.pdf
Digital Electronics – Unit I.pdf
Week - 01, 02, 03 Bits-n-Pieces Chapter 1.ppt
number system.ppt
Number system and codes
Ad

More from AhmedJaha (13)

PPTX
‏‏‏‏03-Weiser-SciAm (summary of the paper)
PPTX
05-spink1998 (summarization of the paper)
PPT
Lec11Computer Architecture_Pipeline_Introduction.ppt
PPT
Chapt12Processor Structure and Function.ppt
PPTX
مخطط اللاعودة للصفر- NonReturnToZero.pptx
PPTX
تقرير_ريم حسام(Differentiated Services Code Point).pptx
PPTX
Introduction to the Real Time Protocol.pptx
PPTX
التقرير الاول مقدمة عن برنامج وايرشارك Wireshark .pptx
PPTX
Internet control message protocol (ICMP)
PPT
Introduction to Virtual Private Network (VPN).ppt
PPT
إدارة وتنظيم مصادر المعلومات واالتكحم في الوصول اليها.ppt
PPT
المحاضرة_التاسعة_المفتاح العام هيكلية_PKI.ppt
PPT
INTRODUCTIONTOARTIFICIALNEURALNETWORKS(ANN).ppt
‏‏‏‏03-Weiser-SciAm (summary of the paper)
05-spink1998 (summarization of the paper)
Lec11Computer Architecture_Pipeline_Introduction.ppt
Chapt12Processor Structure and Function.ppt
مخطط اللاعودة للصفر- NonReturnToZero.pptx
تقرير_ريم حسام(Differentiated Services Code Point).pptx
Introduction to the Real Time Protocol.pptx
التقرير الاول مقدمة عن برنامج وايرشارك Wireshark .pptx
Internet control message protocol (ICMP)
Introduction to Virtual Private Network (VPN).ppt
إدارة وتنظيم مصادر المعلومات واالتكحم في الوصول اليها.ppt
المحاضرة_التاسعة_المفتاح العام هيكلية_PKI.ppt
INTRODUCTIONTOARTIFICIALNEURALNETWORKS(ANN).ppt
Ad

Recently uploaded (20)

PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Electronic commerce courselecture one. Pdf
PPTX
1. Introduction to Computer Programming.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPT
Teaching material agriculture food technology
PDF
Machine learning based COVID-19 study performance prediction
PDF
cuic standard and advanced reporting.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Encapsulation theory and applications.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
“AI and Expert System Decision Support & Business Intelligence Systems”
Spectral efficient network and resource selection model in 5G networks
Electronic commerce courselecture one. Pdf
1. Introduction to Computer Programming.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Tartificialntelligence_presentation.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Unlocking AI with Model Context Protocol (MCP)
The Rise and Fall of 3GPP – Time for a Sabbatical?
Teaching material agriculture food technology
Machine learning based COVID-19 study performance prediction
cuic standard and advanced reporting.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
SOPHOS-XG Firewall Administrator PPT.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Encapsulation theory and applications.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Build a system with the filesystem maintained by OSTree @ COSCUP 2025

Single Precision Floating Point Format.ppt

  • 2. 2 Floating Point Numbers Floating Point Numbers • Registers for real numbers usually contain 32 or 64 bits, allowing 232 or 264 numbers to be represented. • Which reals to represent? There are an infinite number between 2 adjacent integers. (or two reals!!) • Which bit patterns for reals selected? • Answer: use scientific notation
  • 3. 3 A B A x 10B 0 any 0 1 .. 9 0 1 .. 9 1 .. 9 1 10 .. 90 1 .. 9 2 100 .. 900 1 .. 9 -1 0.1 .. 0.9 1 .. 9 -2 0.01 .. 0.09 Consider: A x 10B, where A is one digit How to do scientific notation in binary? Standard: IEEE 754 Floating-Point Floating Point Numbers
  • 4. 4 IEEE 754 Single Precision Floating Point Format Representation: S E F •S is one bit representing the sign of the number •E is an 8 bit biased integer representing the exponent •F is an unsigned integer The true value represented is: (-1)S x f x 2e • S = sign bit • e = E – bias • f = F/2n + 1 • for single precision numbers n=23, bias=127
  • 5. 5 S, E, F all represent fields within a representation. Each is just a bunch of bits. S is the sign bit • (-1)S  (-1)0 = +1 and (-1)1 = -1 • Just a sign bit for signed magnitude E is the exponent field • The E field is a biased-127 representation. • True exponent is (E – bias) • The base (radix) is always 2 (implied). • Some early machines used radix 4 or 16 (IBM) IEEE 754 Single Precision Floating Point Format
  • 6. 6 F (or M) is the fractional or mantissa field. • It is in a strange form. • There are 23 bits for F. • A normalized FP number always has a leading 1. • No need to store the one, just assume it. • This MSB is called the HIDDEN BIT. IEEE 754 Single Precision Floating Point Format
  • 7. 7 How to convert 64.2 into IEEE SP 1. Get a binary representation for 64.2 • Binary of left of radix pointis: • Binary of right of radix .2 x 2 = 0.4 0 .4 x 2 = 0.8 0 .8 x 2 = 1.6 1 .6 x 2 = 1.2 1 • Binary for .2: • 64.2 is: 2. Normalize binary form • Produces:
  • 8. 8 Floating Point •Since floating point numbers are always stored in normal form, how do we represent 0? •0x0000 0000 and 0x8000 0000 represent 0. •What numbers cannot be represented because of this? 3. Turn true exponent into bias-127 4. Put it together: 23-bit F is: S E F is: In hex:
  • 9. 9 IEEE Floating Point Format Other special values: • + 5 / 0 = +∞ • +∞ = 0 11111111 00000… (0x7f80 0000) • -7/0 = -∞ • -∞ = 1 11111111 00000… (0xff80 0000) • 0/0 or + ∞ + -∞ = NaN (Not a number) • NaN ? 11111111 ?????… (S is either 0 or 1, E=0xff, and F is anything but all zeroes) • Also de-normalized numbers (beyond scope)
  • 10. 10 IEEE Floating Point What is the decimal value for this SP FP number 0x4228 0000?
  • 11. 11 IEEE Floating Point What is 47.62510 in SP FP format?
  • 12. 12 What do floating-point numbers represent? • Rational numbers with non-repeating expansions in the given base within the specified exponent range. • They do not represent repeating rational or irrational numbers, or any number too small or too large. Floating Point Format
  • 13. 13 IEEE Double Precision FP • IEEE Double Precision is similar to SP – 52-bit M • 53 bits of precision with hidden bit – 11-bit E, excess 1023, representing –1023 <- -> 2046 – One sign bit • Always use DP unless memory/file size is important – SP ~ 10-38 … 1038 – DP ~ 10-308 … 10308 • Be very careful of these ranges in numeric computation
  • 17. 17 And more … • 0xC3805000 =
  • 18. 18 Floating Point Arithmetic Floating Point operations include •Addition •Subtraction •Multiplication •Division They are complicated because…
  • 19. 19 Floating Point Addition 1. Align decimal points 2. Add 3. Normalize the result • Often already normalized • Otherwise move one digit 1.0001631 x 103 4. Round result 1.000 x 103 9.997 x 102 + 4.631 x 10-1 9.997 x 102 + 0.004631 x 102 10.001631 x 102 Decimal Review How do we do this?
  • 20. 20 Floating Point Addition First step: get into SP FP if not already .25 = 0 01111101 00000000000000000000000 100 = 0 10000101 10010000000000000000000 Or with hidden bit .25 = 0 01111101 1 00000000000000000000000 100 = 0 10000101 1 10010000000000000000000 Example: 0.25 + 100 in SP FP Hidden Bit
  • 21. 21 Second step: Align radix points – Shifting F left by 1 bit, decreasing e by 1 – Shifting F right by 1 bit, increasing e by 1 – Shift F right so least significant bits fall off – Which of the two numbers should we shift? Floating Point Addition
  • 22. 22 Floating Point Addition Shift the .25 to increase its exponent so it matches that of 100. 0.25’s e: 01111101 – 1111111 (127) = 100’s e: 10000101 – 1111111 (127) = Shift .25 by 8 then. Easier method: Bias cancels with subtraction, so Second step: Align radix points cont. 10000101 - 01111101 00001000 100’s E 0.25’s E
  • 23. 23 Carefully shifting the 0.25’s fraction S E HB F • 0 01111101 1 00000000000000000000000 (original value) • 0 01111110 0 10000000000000000000000 (shifted by 1) • 0 01111111 0 01000000000000000000000 (shifted by 2) • 0 10000000 0 00100000000000000000000 (shifted by 3) • 0 10000001 0 00010000000000000000000 (shifted by 4) • 0 10000010 0 00001000000000000000000 (shifted by 5) • 0 10000011 0 00000100000000000000000 (shifted by 6) • 0 10000100 0 00000010000000000000000 (shifted by 7) • 0 10000101 0 00000001000000000000000 (shifted by 8) Floating Point Addition
  • 24. 24 Floating Point Addition Third Step: Add fractions with hidden bit 0 10000101 1 10010000000000000000000 (100) + 0 10000101 0 00000001000000000000000 (.25) 0 10000101 1 10010001000000000000000 Fourth Step: Normalize the result • Get a ‘1’ back in hidden bit • Already normalized most of the time • Remove hidden bit and finished
  • 25. 25 Normalization example S E HB F 0 011 1 1100 + 0 011 1 1011 0 011 11 0111 Need to shift so that only a 1 in HB spot 0 100 1 1011 1 -> discarded Floating Point Addition
  • 26. 26 Floating Point Subtraction •Mantissa’s are sign-magnitude •Watch out when the numbers are close 1.23455 x 102 - 1.23456 x 102 •A many-digit normalization is possible This is why FP addition is in many ways more difficult than FP multiplication
  • 27. 27 Floating Point Subtraction 1. Align radix points 2. Perform sign-magnitude operand swap if needed • Compare magnitudes (with hidden bit) • Change sign bit if order of operands is changed. 3. Subtract 4. Normalize 5. Round Steps to do subtraction
  • 28. 28 S E HB F 0 011 1 1011 smaller - 0 011 1 1101 bigger switch order and make result negative 0 011 1 1101 bigger - 0 011 1 1011 smaller 1 011 0 0010 1 000 1 0000 switched sign Floating Point Subtraction Simple Example:
  • 29. 29 Floating Point Multiplication 1. Multiply mantissas 3.0 x 5.0 15.00 2. Add exponents 1 + 2 = 3 3. Combine 15.00 x 103 4. Normalize if needed 1.50 x 104 Decimal example: 3.0 x 101 x 5.0 x 102 How do we do this?
  • 30. 30 Floating Point Multiplication Multiplication in binary (4-bit F) 0 10000100 0100 x 1 00111100 1100 Step 1: Multiply mantissas (put hidden bit back first!!) 1.0100 x 1.1100 00000 00000 10100 10100 + 10100 1000110000 10.00110000
  • 31. 31 Floating Point Multiplication Second step: Add exponents, subtract extra bias. 10000100 + 00111100 Third step: Renormalize, correcting exponent 1 01000001 10.00110000 Becomes 1 01000010 1.000110000 Fourth step: Drop the hidden bit 1 01000010 000110000 11000000 11000000 - 01111111 (127) 01000001
  • 32. 32 Multiply these SP FP numbers together 0x49FC0000 x 0x4BE00000 Floating Point Multiplication
  • 33. 33 • True division – Unsigned, full-precision division on mantissas – This is much more costly (e.g. 4x) than mult. – Subtract exponents • Faster division – Newton’s method to find reciprocal – Multiply dividend by reciprocal of divisor – May not yield exact result without some work – Similar speed as multiplication Floating Point Division
  • 34. 34 Floating Point Summary • Has 3 portions, S, E, F/M • Do conversion in parts • Arithmetic is signed magnitude • Subtraction could require many shifts for renormalization • Multiplication is easier since do not have to match exponents
  • 36. 36