際際滷

際際滷Share a Scribd company logo
2s Complement and
Floating-Point
CSE 351 Section 3
Twos Complement
An n-bit, twos complement
number can represent the
range [2 1 , 2 1  1].
 Note the asymmetry of this
range about 0  theres one more
negative number than positive
Note what happens when
you overflow
4-bit twos complement range
Understanding Twos Complement
 An easier way to find the decimal value of a twos complement number:
~x + 1 = -x
 We can rewrite this as x = ~(-x - 1), i.e. subtract 1 from the given number,
and flip the bits to get the positive portion of the number.
 Example: 0b11010110
 Subtract 1: 0b11010110 - 1 = 0b11010101
 Flip the bits: ~0b11010101 = 0b00101010
 Convert to decimal: 0b00101010 = (32+8+2)10 = 4210
 Multiply by negative one, Answer: -4210.
Twos Complement: Operations
1. Convert numbers to binary
 0xAB = 0b10101011
 1710 = 0b00010001
2. Compute x | y
0000 ... 1010 1011
| 0000 ... 0001 0001
--------------------
0000 ... 1011 1011
3. Compute ~(x | y) (flip the bits)
~ 0000 0000 0000 0000 0000 0000 1011 1011
-----------------------------------------
1111 1111 1111 1111 1111 1111 0100 0100
int x = 0xAB;
int y = 17;
int z = 5;
int result = ~(x | y) + z;
What is the value of
result in decimal?
Twos Complement: Operations
4. Compute ~(x | y) + z
 You can either convert to decimal before or after
adding z
 1710 = 0b00010001
 Convert
111111111111111111111111010001002 to
decimal
(hint: -x = ~x + 1)
 ~111111111111111111111111010001002 =
0000000000000000000000000101110112
 ~0000101110112 + 1 = 0000101111002
 -x = 0000101111002
 x = 1000101111002
int x = 0xAB;
int y = 17;
int z = 5;
int result = ~(x | y) + z;
What is the value of
result in decimal?
Floating Point
 value = (-1)S * M * 2E
 Numerical Form
 Sign bit s determines whether number is negative or positive
 Significand (mantissa) M normally a fractional value in range [1.0, 2.0)
 Exponent E weights value by a (possibly negative) power of two
 Representation in Memory
 MSB s is sign bit s
 exp field encodes E (but is not equal to E)  remember the bias
 Frac field encodes M (but is not equal to M)
s exp mant
Floating Point
 value = (-1)S * M * 2E
 Value: 賊1  Mantissa  2Exponent
 Bit Fields: (-1)S  1.M  2(E+bias)
 Bias
 Read exponent as unsigned, but with bias of (2w-1-1) = 127
 Representable exponents roughly 遜 positive and 遜 negative
 Exponent 0 (Exp = 0) is represented as E = 0b 0111 1111
 Why?
 Floating point arithmetic = easier
 Somewhat compatible with 2s complement
s exp mant
Floating Point
 Exponent overflow yields + or -
 Floats with value +, -, and NaN can be used in operations
 Result usually still +, -, or NaN; sometimes intuitive, sometimes not
 Floating point ops do not work like real math, due to rounding!
 Not associative:
 (3.14 + 1e100)  1e100 != 3.14 + (1e100  1e100)
 Not distributive:
 100 * (0.1 + 0.2) != 100 * 0.1 + 100 * 0.2
 Not cumulative
 Repeatedly adding a very small number to a large one may do nothing
s exp mant
Floating Point Examples
 How do you represent -1.5 in floating point?
 Sign bit: 1
 First the integral part of the value: 1 = 0b1
 Now compute the decimal: 0.5 = 0b0.1
 1.510 = 1.1b
 Dont need to normalize because its already in scientific notation: 1.1 x 20
 Exponent: 0 + 127 = 12710 = 011111112
 Mantissa: 10000000000000000000002
 -1.510 = 1 01111111 10000000000000000000002 = 0xBFC00000
s exp mant
1 8 23
Floating Point Examples
 How do you represent 1.0 in floating point?
 Sign bit: 0
 First the integral part of the value: 1 = 0b1
 1.010 => 1.0b
 Dont need to normalize because its already in scientific notation: 1.0 x 20
 Exponent: 0 + 127 = 12710 = 011111112
 Mantissa: 000000000000000000000002
 1.010 = 0 01111111 000000000000000000000002 = 0x3F800000
s exp mant
1 8 23
Floating Point Addition
(1)s1*M1*2E1 + (-1)s2*M2*2E2
(Assume E1 > E2)
 Exact Result: (1)s*M*2E
 Sign s, mantissa M:
 M = M1 + M2, result of signed align & add
 Exponent E: E1
 Fixing
 If M  2, shift M right, increment E
 if M < 1, shift M left k positions, decrement E by k
 Overflow if E out of range
 Round M to fit frac precision
s exp mant
1 8 23
What is floating point result of 12.3125 + 1.5?
12.312510 = 0 10000010 10001010000000000000000
1.510 = 0 01111111 10000000000000000000000
In scientific notation: (1.1000101 x 23) + (1.1 x 20 )
1100.0101 x 20
+ 1.1 x 20
------------------
1101.1101 x 20
Adjusted mantissa: 1.1011101 => M = 1011101
Ans: 0 10000010 10111010000000000000000
Floating Point Multiplication
(1)s1*M1*2E1 * (1)s2*M2*2E2
 Exact Result: (1)s*M*2E
 Sign s: s1 ^ s2
 Mantissa M: M1 * M2
 Exponent E: E1 + E2
 Fixing
 If M  2, shift M right, increment E
 If E out of range, overflow
 Round M to fit frac precision
s exp mant
1 8 23
What is floating point result of 1.1* 1.0?
1.110 = 0 01111111 00011001100110011001101
1.010 = 0 01111111 00000000000000000000000
In scientific notation: (1.1 x 20) + (1.0 x 20 )
1.00011001100110011001101 x 20
* 1.0 x 20
--------------------------------------
0000000000000000000000000
1000110011001100110011010
Result: 1.000110011001100110011010 x 20
Ans: 0 01111111 00011001100110011001101
Floating Point Worksheet

More Related Content

Similar to Floating_point_representation.pdf (20)

ch3a-binary-numbers.ppt
ch3a-binary-numbers.pptch3a-binary-numbers.ppt
ch3a-binary-numbers.ppt
ssuser52a19e
Review on Number Systems: Decimal, Binary, and Hexadecimal
Review on Number Systems: Decimal, Binary, and HexadecimalReview on Number Systems: Decimal, Binary, and Hexadecimal
Review on Number Systems: Decimal, Binary, and Hexadecimal
UtkirjonUbaydullaev1
ch3a-binary-numbers.ppt
ch3a-binary-numbers.pptch3a-binary-numbers.ppt
ch3a-binary-numbers.ppt
RAJKUMARP63
mmmmmmmmmmmmmmmmmmmmmmbinary-numbers.ppt
mmmmmmmmmmmmmmmmmmmmmmbinary-numbers.pptmmmmmmmmmmmmmmmmmmmmmmbinary-numbers.ppt
mmmmmmmmmmmmmmmmmmmmmmbinary-numbers.ppt
AdityaGupta221734
ch3a-binary-numbers.ppt ch3a-binary-numbers.ppt ch3a-binary-numbers.ppt
ch3a-binary-numbers.ppt ch3a-binary-numbers.ppt  ch3a-binary-numbers.pptch3a-binary-numbers.ppt ch3a-binary-numbers.ppt  ch3a-binary-numbers.ppt
ch3a-binary-numbers.ppt ch3a-binary-numbers.ppt ch3a-binary-numbers.ppt
anilmallah76
binary-numbers.ppt
binary-numbers.pptbinary-numbers.ppt
binary-numbers.ppt
MarlonMagtibay2
Computer Architecture Binary Arithmetic Lecture.pptx
Computer Architecture Binary Arithmetic Lecture.pptxComputer Architecture Binary Arithmetic Lecture.pptx
Computer Architecture Binary Arithmetic Lecture.pptx
AlmazYohannis
ch3a-binary-numbers.ppt
ch3a-binary-numbers.pptch3a-binary-numbers.ppt
ch3a-binary-numbers.ppt
MUNAZARAZZAQELEA
Data representation
Data representationData representation
Data representation
Chew Hoong
ch3a-binary-numbers.ppt
ch3a-binary-numbers.pptch3a-binary-numbers.ppt
ch3a-binary-numbers.ppt
RabiaAsif31
digital-electronics (1)_watermark.pdfhindi
digital-electronics (1)_watermark.pdfhindidigital-electronics (1)_watermark.pdfhindi
digital-electronics (1)_watermark.pdfhindi
NikhilPant15
Single Precision Floating Point Format.ppt
Single Precision Floating Point Format.pptSingle Precision Floating Point Format.ppt
Single Precision Floating Point Format.ppt
AhmedJaha
Convertion of single precision
Convertion of single precisionConvertion of single precision
Convertion of single precision
nikhilarora2211
BOOTH ALGO, DIVISION(RESTORING _ NON RESTORING) etc etc
BOOTH ALGO, DIVISION(RESTORING _ NON RESTORING) etc etcBOOTH ALGO, DIVISION(RESTORING _ NON RESTORING) etc etc
BOOTH ALGO, DIVISION(RESTORING _ NON RESTORING) etc etc
Abhishek Rajpoot
Number system
Number systemNumber system
Number system
Mantra VLSI
Class10
Class10Class10
Class10
MuhammadYasirQadri1
digital-electronics.pptx
digital-electronics.pptxdigital-electronics.pptx
digital-electronics.pptx
sulekhasaxena2
1. NUMBER SYSTEM.pptx Computer Applications in Pharmacy
1. NUMBER SYSTEM.pptx Computer Applications in Pharmacy1. NUMBER SYSTEM.pptx Computer Applications in Pharmacy
1. NUMBER SYSTEM.pptx Computer Applications in Pharmacy
Vedika Narvekar
Number system
Number systemNumber system
Number system
mabroukamohammed
B.sc cs-ii-u-1.8 digital logic circuits, digital component floting and fixed ...
B.sc cs-ii-u-1.8 digital logic circuits, digital component floting and fixed ...B.sc cs-ii-u-1.8 digital logic circuits, digital component floting and fixed ...
B.sc cs-ii-u-1.8 digital logic circuits, digital component floting and fixed ...
Rai University
ch3a-binary-numbers.ppt
ch3a-binary-numbers.pptch3a-binary-numbers.ppt
ch3a-binary-numbers.ppt
ssuser52a19e
Review on Number Systems: Decimal, Binary, and Hexadecimal
Review on Number Systems: Decimal, Binary, and HexadecimalReview on Number Systems: Decimal, Binary, and Hexadecimal
Review on Number Systems: Decimal, Binary, and Hexadecimal
UtkirjonUbaydullaev1
ch3a-binary-numbers.ppt
ch3a-binary-numbers.pptch3a-binary-numbers.ppt
ch3a-binary-numbers.ppt
RAJKUMARP63
mmmmmmmmmmmmmmmmmmmmmmbinary-numbers.ppt
mmmmmmmmmmmmmmmmmmmmmmbinary-numbers.pptmmmmmmmmmmmmmmmmmmmmmmbinary-numbers.ppt
mmmmmmmmmmmmmmmmmmmmmmbinary-numbers.ppt
AdityaGupta221734
ch3a-binary-numbers.ppt ch3a-binary-numbers.ppt ch3a-binary-numbers.ppt
ch3a-binary-numbers.ppt ch3a-binary-numbers.ppt  ch3a-binary-numbers.pptch3a-binary-numbers.ppt ch3a-binary-numbers.ppt  ch3a-binary-numbers.ppt
ch3a-binary-numbers.ppt ch3a-binary-numbers.ppt ch3a-binary-numbers.ppt
anilmallah76
Computer Architecture Binary Arithmetic Lecture.pptx
Computer Architecture Binary Arithmetic Lecture.pptxComputer Architecture Binary Arithmetic Lecture.pptx
Computer Architecture Binary Arithmetic Lecture.pptx
AlmazYohannis
ch3a-binary-numbers.ppt
ch3a-binary-numbers.pptch3a-binary-numbers.ppt
ch3a-binary-numbers.ppt
MUNAZARAZZAQELEA
Data representation
Data representationData representation
Data representation
Chew Hoong
ch3a-binary-numbers.ppt
ch3a-binary-numbers.pptch3a-binary-numbers.ppt
ch3a-binary-numbers.ppt
RabiaAsif31
digital-electronics (1)_watermark.pdfhindi
digital-electronics (1)_watermark.pdfhindidigital-electronics (1)_watermark.pdfhindi
digital-electronics (1)_watermark.pdfhindi
NikhilPant15
Single Precision Floating Point Format.ppt
Single Precision Floating Point Format.pptSingle Precision Floating Point Format.ppt
Single Precision Floating Point Format.ppt
AhmedJaha
Convertion of single precision
Convertion of single precisionConvertion of single precision
Convertion of single precision
nikhilarora2211
BOOTH ALGO, DIVISION(RESTORING _ NON RESTORING) etc etc
BOOTH ALGO, DIVISION(RESTORING _ NON RESTORING) etc etcBOOTH ALGO, DIVISION(RESTORING _ NON RESTORING) etc etc
BOOTH ALGO, DIVISION(RESTORING _ NON RESTORING) etc etc
Abhishek Rajpoot
Number system
Number systemNumber system
Number system
Mantra VLSI
digital-electronics.pptx
digital-electronics.pptxdigital-electronics.pptx
digital-electronics.pptx
sulekhasaxena2
1. NUMBER SYSTEM.pptx Computer Applications in Pharmacy
1. NUMBER SYSTEM.pptx Computer Applications in Pharmacy1. NUMBER SYSTEM.pptx Computer Applications in Pharmacy
1. NUMBER SYSTEM.pptx Computer Applications in Pharmacy
Vedika Narvekar
B.sc cs-ii-u-1.8 digital logic circuits, digital component floting and fixed ...
B.sc cs-ii-u-1.8 digital logic circuits, digital component floting and fixed ...B.sc cs-ii-u-1.8 digital logic circuits, digital component floting and fixed ...
B.sc cs-ii-u-1.8 digital logic circuits, digital component floting and fixed ...
Rai University

Recently uploaded (20)

Soil Properties and Methods of Determination
Soil Properties and  Methods of DeterminationSoil Properties and  Methods of Determination
Soil Properties and Methods of Determination
Rajani Vyawahare
Cyber Security_ Protecting the Digital World.pptx
Cyber Security_ Protecting the Digital World.pptxCyber Security_ Protecting the Digital World.pptx
Cyber Security_ Protecting the Digital World.pptx
Harshith A S
UNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptx
UNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptxUNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptx
UNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptx
KesavanT10
How to Make an RFID Door Lock System using Arduino
How to Make an RFID Door Lock System using ArduinoHow to Make an RFID Door Lock System using Arduino
How to Make an RFID Door Lock System using Arduino
CircuitDigest
GM Meeting 070225 TO 130225 for 2024.pptx
GM Meeting 070225 TO 130225 for 2024.pptxGM Meeting 070225 TO 130225 for 2024.pptx
GM Meeting 070225 TO 130225 for 2024.pptx
crdslalcomumbai
Power Point Presentation for Electrical Engineering 3-phase.ppt
Power Point Presentation for Electrical Engineering 3-phase.pptPower Point Presentation for Electrical Engineering 3-phase.ppt
Power Point Presentation for Electrical Engineering 3-phase.ppt
Aniket_1415
TM-ASP-101-RF_Air Press manual crimping machine.pdf
TM-ASP-101-RF_Air Press manual crimping machine.pdfTM-ASP-101-RF_Air Press manual crimping machine.pdf
TM-ASP-101-RF_Air Press manual crimping machine.pdf
ChungLe60
Equipment for Gas Metal Arc Welding Process
Equipment for Gas Metal Arc Welding ProcessEquipment for Gas Metal Arc Welding Process
Equipment for Gas Metal Arc Welding Process
AhmadKamil87
Mathematics_behind_machine_learning_INT255.pptx
Mathematics_behind_machine_learning_INT255.pptxMathematics_behind_machine_learning_INT255.pptx
Mathematics_behind_machine_learning_INT255.pptx
ppkmurthy2006
Taykon-Kalite belgeleri
Taykon-Kalite belgeleriTaykon-Kalite belgeleri
Taykon-Kalite belgeleri
TAYKON
Env and Water Supply Engg._Dr. Hasan.pdf
Env and Water Supply Engg._Dr. Hasan.pdfEnv and Water Supply Engg._Dr. Hasan.pdf
Env and Water Supply Engg._Dr. Hasan.pdf
MahmudHasan747870
US Patented ReGenX Generator, ReGen-X Quatum Motor EV Regenerative Accelerati...
US Patented ReGenX Generator, ReGen-X Quatum Motor EV Regenerative Accelerati...US Patented ReGenX Generator, ReGen-X Quatum Motor EV Regenerative Accelerati...
US Patented ReGenX Generator, ReGen-X Quatum Motor EV Regenerative Accelerati...
Thane Heins NOBEL PRIZE WINNING ENERGY RESEARCHER
Indian Soil Classification System in Geotechnical Engineering
Indian Soil Classification System in Geotechnical EngineeringIndian Soil Classification System in Geotechnical Engineering
Indian Soil Classification System in Geotechnical Engineering
Rajani Vyawahare
Water Industry Process Automation & Control Monthly - March 2025.pdf
Water Industry Process Automation & Control Monthly - March 2025.pdfWater Industry Process Automation & Control Monthly - March 2025.pdf
Water Industry Process Automation & Control Monthly - March 2025.pdf
Water Industry Process Automation & Control
GROUP-3-GRID-CODE-AND-DISTRIBUTION-CODE.pptx
GROUP-3-GRID-CODE-AND-DISTRIBUTION-CODE.pptxGROUP-3-GRID-CODE-AND-DISTRIBUTION-CODE.pptx
GROUP-3-GRID-CODE-AND-DISTRIBUTION-CODE.pptx
meneememoo
Multi objective genetic approach with Ranking
Multi objective genetic approach with RankingMulti objective genetic approach with Ranking
Multi objective genetic approach with Ranking
namisha18
04 MAINTENANCE OF CONCRETE PAVEMENTS.ppt
04  MAINTENANCE OF CONCRETE PAVEMENTS.ppt04  MAINTENANCE OF CONCRETE PAVEMENTS.ppt
04 MAINTENANCE OF CONCRETE PAVEMENTS.ppt
sreenath seenu
Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...
Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...
Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...
ASHISHDESAI85
only history of java.pptx real bihind the name java
only history of java.pptx real bihind the name javaonly history of java.pptx real bihind the name java
only history of java.pptx real bihind the name java
mushtaqsaliq9
Engineering at Lovely Professional University (LPU).pdf
Engineering at Lovely Professional University (LPU).pdfEngineering at Lovely Professional University (LPU).pdf
Engineering at Lovely Professional University (LPU).pdf
Sona
Soil Properties and Methods of Determination
Soil Properties and  Methods of DeterminationSoil Properties and  Methods of Determination
Soil Properties and Methods of Determination
Rajani Vyawahare
Cyber Security_ Protecting the Digital World.pptx
Cyber Security_ Protecting the Digital World.pptxCyber Security_ Protecting the Digital World.pptx
Cyber Security_ Protecting the Digital World.pptx
Harshith A S
UNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptx
UNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptxUNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptx
UNIT 1FUNDAMENTALS OF OPERATING SYSTEMS.pptx
KesavanT10
How to Make an RFID Door Lock System using Arduino
How to Make an RFID Door Lock System using ArduinoHow to Make an RFID Door Lock System using Arduino
How to Make an RFID Door Lock System using Arduino
CircuitDigest
GM Meeting 070225 TO 130225 for 2024.pptx
GM Meeting 070225 TO 130225 for 2024.pptxGM Meeting 070225 TO 130225 for 2024.pptx
GM Meeting 070225 TO 130225 for 2024.pptx
crdslalcomumbai
Power Point Presentation for Electrical Engineering 3-phase.ppt
Power Point Presentation for Electrical Engineering 3-phase.pptPower Point Presentation for Electrical Engineering 3-phase.ppt
Power Point Presentation for Electrical Engineering 3-phase.ppt
Aniket_1415
TM-ASP-101-RF_Air Press manual crimping machine.pdf
TM-ASP-101-RF_Air Press manual crimping machine.pdfTM-ASP-101-RF_Air Press manual crimping machine.pdf
TM-ASP-101-RF_Air Press manual crimping machine.pdf
ChungLe60
Equipment for Gas Metal Arc Welding Process
Equipment for Gas Metal Arc Welding ProcessEquipment for Gas Metal Arc Welding Process
Equipment for Gas Metal Arc Welding Process
AhmadKamil87
Mathematics_behind_machine_learning_INT255.pptx
Mathematics_behind_machine_learning_INT255.pptxMathematics_behind_machine_learning_INT255.pptx
Mathematics_behind_machine_learning_INT255.pptx
ppkmurthy2006
Taykon-Kalite belgeleri
Taykon-Kalite belgeleriTaykon-Kalite belgeleri
Taykon-Kalite belgeleri
TAYKON
Env and Water Supply Engg._Dr. Hasan.pdf
Env and Water Supply Engg._Dr. Hasan.pdfEnv and Water Supply Engg._Dr. Hasan.pdf
Env and Water Supply Engg._Dr. Hasan.pdf
MahmudHasan747870
Indian Soil Classification System in Geotechnical Engineering
Indian Soil Classification System in Geotechnical EngineeringIndian Soil Classification System in Geotechnical Engineering
Indian Soil Classification System in Geotechnical Engineering
Rajani Vyawahare
GROUP-3-GRID-CODE-AND-DISTRIBUTION-CODE.pptx
GROUP-3-GRID-CODE-AND-DISTRIBUTION-CODE.pptxGROUP-3-GRID-CODE-AND-DISTRIBUTION-CODE.pptx
GROUP-3-GRID-CODE-AND-DISTRIBUTION-CODE.pptx
meneememoo
Multi objective genetic approach with Ranking
Multi objective genetic approach with RankingMulti objective genetic approach with Ranking
Multi objective genetic approach with Ranking
namisha18
04 MAINTENANCE OF CONCRETE PAVEMENTS.ppt
04  MAINTENANCE OF CONCRETE PAVEMENTS.ppt04  MAINTENANCE OF CONCRETE PAVEMENTS.ppt
04 MAINTENANCE OF CONCRETE PAVEMENTS.ppt
sreenath seenu
Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...
Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...
Integration of Additive Manufacturing (AM) with IoT : A Smart Manufacturing A...
ASHISHDESAI85
only history of java.pptx real bihind the name java
only history of java.pptx real bihind the name javaonly history of java.pptx real bihind the name java
only history of java.pptx real bihind the name java
mushtaqsaliq9
Engineering at Lovely Professional University (LPU).pdf
Engineering at Lovely Professional University (LPU).pdfEngineering at Lovely Professional University (LPU).pdf
Engineering at Lovely Professional University (LPU).pdf
Sona

Floating_point_representation.pdf

  • 2. Twos Complement An n-bit, twos complement number can represent the range [2 1 , 2 1 1]. Note the asymmetry of this range about 0 theres one more negative number than positive Note what happens when you overflow 4-bit twos complement range
  • 3. Understanding Twos Complement An easier way to find the decimal value of a twos complement number: ~x + 1 = -x We can rewrite this as x = ~(-x - 1), i.e. subtract 1 from the given number, and flip the bits to get the positive portion of the number. Example: 0b11010110 Subtract 1: 0b11010110 - 1 = 0b11010101 Flip the bits: ~0b11010101 = 0b00101010 Convert to decimal: 0b00101010 = (32+8+2)10 = 4210 Multiply by negative one, Answer: -4210.
  • 4. Twos Complement: Operations 1. Convert numbers to binary 0xAB = 0b10101011 1710 = 0b00010001 2. Compute x | y 0000 ... 1010 1011 | 0000 ... 0001 0001 -------------------- 0000 ... 1011 1011 3. Compute ~(x | y) (flip the bits) ~ 0000 0000 0000 0000 0000 0000 1011 1011 ----------------------------------------- 1111 1111 1111 1111 1111 1111 0100 0100 int x = 0xAB; int y = 17; int z = 5; int result = ~(x | y) + z; What is the value of result in decimal?
  • 5. Twos Complement: Operations 4. Compute ~(x | y) + z You can either convert to decimal before or after adding z 1710 = 0b00010001 Convert 111111111111111111111111010001002 to decimal (hint: -x = ~x + 1) ~111111111111111111111111010001002 = 0000000000000000000000000101110112 ~0000101110112 + 1 = 0000101111002 -x = 0000101111002 x = 1000101111002 int x = 0xAB; int y = 17; int z = 5; int result = ~(x | y) + z; What is the value of result in decimal?
  • 6. Floating Point value = (-1)S * M * 2E Numerical Form Sign bit s determines whether number is negative or positive Significand (mantissa) M normally a fractional value in range [1.0, 2.0) Exponent E weights value by a (possibly negative) power of two Representation in Memory MSB s is sign bit s exp field encodes E (but is not equal to E) remember the bias Frac field encodes M (but is not equal to M) s exp mant
  • 7. Floating Point value = (-1)S * M * 2E Value: 賊1 Mantissa 2Exponent Bit Fields: (-1)S 1.M 2(E+bias) Bias Read exponent as unsigned, but with bias of (2w-1-1) = 127 Representable exponents roughly 遜 positive and 遜 negative Exponent 0 (Exp = 0) is represented as E = 0b 0111 1111 Why? Floating point arithmetic = easier Somewhat compatible with 2s complement s exp mant
  • 8. Floating Point Exponent overflow yields + or - Floats with value +, -, and NaN can be used in operations Result usually still +, -, or NaN; sometimes intuitive, sometimes not Floating point ops do not work like real math, due to rounding! Not associative: (3.14 + 1e100) 1e100 != 3.14 + (1e100 1e100) Not distributive: 100 * (0.1 + 0.2) != 100 * 0.1 + 100 * 0.2 Not cumulative Repeatedly adding a very small number to a large one may do nothing s exp mant
  • 9. Floating Point Examples How do you represent -1.5 in floating point? Sign bit: 1 First the integral part of the value: 1 = 0b1 Now compute the decimal: 0.5 = 0b0.1 1.510 = 1.1b Dont need to normalize because its already in scientific notation: 1.1 x 20 Exponent: 0 + 127 = 12710 = 011111112 Mantissa: 10000000000000000000002 -1.510 = 1 01111111 10000000000000000000002 = 0xBFC00000 s exp mant 1 8 23
  • 10. Floating Point Examples How do you represent 1.0 in floating point? Sign bit: 0 First the integral part of the value: 1 = 0b1 1.010 => 1.0b Dont need to normalize because its already in scientific notation: 1.0 x 20 Exponent: 0 + 127 = 12710 = 011111112 Mantissa: 000000000000000000000002 1.010 = 0 01111111 000000000000000000000002 = 0x3F800000 s exp mant 1 8 23
  • 11. Floating Point Addition (1)s1*M1*2E1 + (-1)s2*M2*2E2 (Assume E1 > E2) Exact Result: (1)s*M*2E Sign s, mantissa M: M = M1 + M2, result of signed align & add Exponent E: E1 Fixing If M 2, shift M right, increment E if M < 1, shift M left k positions, decrement E by k Overflow if E out of range Round M to fit frac precision s exp mant 1 8 23 What is floating point result of 12.3125 + 1.5? 12.312510 = 0 10000010 10001010000000000000000 1.510 = 0 01111111 10000000000000000000000 In scientific notation: (1.1000101 x 23) + (1.1 x 20 ) 1100.0101 x 20 + 1.1 x 20 ------------------ 1101.1101 x 20 Adjusted mantissa: 1.1011101 => M = 1011101 Ans: 0 10000010 10111010000000000000000
  • 12. Floating Point Multiplication (1)s1*M1*2E1 * (1)s2*M2*2E2 Exact Result: (1)s*M*2E Sign s: s1 ^ s2 Mantissa M: M1 * M2 Exponent E: E1 + E2 Fixing If M 2, shift M right, increment E If E out of range, overflow Round M to fit frac precision s exp mant 1 8 23 What is floating point result of 1.1* 1.0? 1.110 = 0 01111111 00011001100110011001101 1.010 = 0 01111111 00000000000000000000000 In scientific notation: (1.1 x 20) + (1.0 x 20 ) 1.00011001100110011001101 x 20 * 1.0 x 20 -------------------------------------- 0000000000000000000000000 1000110011001100110011010 Result: 1.000110011001100110011010 x 20 Ans: 0 01111111 00011001100110011001101