it 1204 section 2.0 data representation and …...unsigned binary numbers ¾have 0 and 1 to...

125
© 2009, University of Colombo School of Computing 1 IT 1204 Section 2.0 Data Representation and Arithmetic

Upload: others

Post on 07-Mar-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 1

IT 1204Section 2.0

Data Representation and Arithmetic

Page 2: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 2

What is Analog and Digital

The interpretation of an analog signal would correspond to a signal whose key characteristic would be a continuous signal

A digital signal is one whose key characteristic (e.g. voltage or current) fall into discrete ranges of values

Most digital systems utilize two voltage levels

Page 3: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 3

Advantage of Digital over Analog

Page 4: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 4

A bit is a binary digit, the smallest increment of data on a machine. A bit can hold only one of two values: 0 or 1

Because bits are so small, you rarely work with information one bit at a time.

What is a bit

Page 5: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 5

Data

Real WorldProblem

Model Information

Knowledge

101100010010011

Abstractto

Apply to

Algorithm

Machine

Operate on

Encode as

Interpret as

Leadingto

Use to

make

1.2.3.

Code for

What is a bit

Page 6: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 6

plates discharged plates charging plates charged

plates discharging plates discharged

1 2 3

4 5

Can store 1of 2 possiblestates

Bit Storage - Capacitor

Page 7: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 7

Byte is an abbreviation for "binary term". A single byte is composed of 8 consecutive bits capable of storing a single character

What is a bit

Page 8: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 8

8 Bits = 1 Byte

1024 Bytes = 1 Kilobyte (KB)

1024 KB = 1 Megabyte (MB)

1024 MB = 1 Gigabyte (GB)

A word is the default data size for a processor

Storage Hierarchy

Page 9: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 9

Decimal SystemAlphabet = { 0,1,2,3,4,5,6,7,8,9 }

Octal SystemAlphabet = { 0,1,2,3,4,5,6,7 }

Hexadecimal SystemAlphabet = { 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F }

Binary SystemAlphabet = { 0,1 }

Numbering System

Page 10: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 10

123 1111011÷261 → remainder 1÷230 → remainder 1÷215 → remainder 0÷27 → remainder 1

÷23 → remainder 1

÷21 → remainder 1

÷20 → remainder 1

Converting decimal to binary

Page 11: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 11

123 1111011÷261 → remainder 1÷230 → remainder 1÷215 → remainder 0÷27 → remainder 1

÷23 → remainder 1

÷21 → remainder 1

÷20 → remainder 1 Most

significant bit

Converting decimal to binary

Page 12: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 12

123 1111011÷261 → remainder 1÷230 → remainder 1÷215 → remainder 0÷27 → remainder 1

÷23 → remainder 1

÷21 → remainder 1

÷20 → remainder 1

Converting decimal to binary

Least significant

bit

Page 13: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 13

Convert the number 6510 to binary

Your turn

Page 14: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 14

25 20212223242627

01234567

Bit position

Decimal value

Converting binary to decimal

Page 15: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 15

3232 1122448816166464128128

01234567

Bit position

Decimal value

Converting binary to decimal

Page 16: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 16

Example:Example:Convert the unsigned binary number 1001101010011010 to decimal

01011001

Converting binary to decimal

Page 17: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 17

01011001

2021222324252627

01234567

Converting binary to decimal

Page 18: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 18

01011001

01234567

64 12481632128

Converting binary to decimal

Page 19: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 19

01011001

01234567

64 12481632128

128 + 16 + 8 + 2128 + 16 + 8 + 2 = 154154

So, 10011010 in unsigned binary is 154 in decimal

Converting binary to decimal

Page 20: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 20

Example:Example:Convert the decimal number 105 to unsigned binary

Converting binary to decimal

Page 21: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 21

Q. Does 128 fit into 105?

A. No

Next, consider the difference: 105- 0*128 = 105

64 12481632

0123456

128

7

0

Converting binary to decimal

Page 22: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 22

Q. Does 64 fit into 105?

A. Yes

Next, consider the difference: 105- 1*64 = 41

1

64 12481632

0123456

128

7

0

Converting binary to decimal

Page 23: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 23

Q. Does 32 fit into 41?

A. Yes

Next, consider the difference: 41- 32 = 9

1

64 12481632

10123456

128

7

0

Converting binary to decimal

Page 24: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 24

Convert the number 001100102 to decimal

Your turn

Page 25: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 25

Decimal System

0,1,2,3,4,5,6,7,8,9,10,11,12,13……

Binary System

0,1,10,11,100,101,110,111,1000,1001,1010,1011,1100,1101…...

Converting binary numbers

Page 26: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 26

Using 5 binary digits how many numbers you can represent?

Your turn

Page 27: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 27

HEX Bit Pattern HEX Bit Pattern0 0000 8 10001 0001 9 10012 0010 A 10103 0011 B 10114 0100 C 11005 0101 D 11016 0110 E 11107 0111 F 1111

Hexadecimal Notation

Page 28: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 28

How many binary digits need to represent a hexadecimal digit?

Your turn

Page 29: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 29

Decimal System

0,1,2,3,4,5,6,7,8,9,10,11,12,13……

Hexadecimal System

0,1,,2,3,4,5,6,7,8,9,A,B,C,D,E,F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F…...

Converting hexadecimal numbers

Page 30: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 30

• 100101102

• 1001 0110• 1001 0110• 9 6

100101102 = 96 Hexadecimal

Binary to Hexadecimal Conversion

Page 31: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 31

• 110110112

• 1101 1011• 1101 1011• D B

110110112 = DB Hexadecimal

Binary to Hexadecimal Conversion

Page 32: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 32

Convert the following binary string to Hexadecimal ...

00101001

11110101

Your turn

Page 33: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 33

•00101001 11101012

• 00101001 11110101

• 0010 1001 1111 01012 9 F 5

00101001 11101012 = 29F5 Hex

Binary to Hexadecimal Conversion

Page 34: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 34

Computer Number System

Page 35: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 35

American Standard Code for Information Interchange (ASCII)

Use bit patterns of length seven to representLetters of English alphabet: a - z and A - ZDigits: 0 – 9Punctuation symbols: (, ), [, ], {, }, ’, ”, !, /, \Arithmetic Operation symbols: +, -, *, <, >, =Special symbols: (space), %, $, #, &, @, ^

27 = 128 characters can be represented by ASCII

ASCII Codes

Page 36: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 36

00110000001100001a01000001A00100000(space)

…….…….……..…….

00110110601100111g01000111G00100110&

00110101501100110f01000110F00100101%

00110100401100101e01000101E00100100$

00110011301100100d01000100D00100011#

00110010201100011c01000011C00100010“

00110001101100010b01000010B00100001!

ASCIISymbolASCIISymbolASCIISymbolASCIISymbol

Character Representation: ASCII Table

Page 37: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 37

Character Representation: ASCII Table

Page 38: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 38

Character Representation: ASCII TableAs computers became more reliable the need for parity bit faded.

Computer manufacturers extended ASCII to provide more characters, e.g., international charactersUsed ranges (27) 128 ↔ 255 (28 - 1)

Page 39: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 39

• The BINARY string ...

• 0110101 can have two meanings!

• the CHARACTER “5” in ASCII

• AND ...

• the DECIMAL NUMBER 53 in BINARY Notation

Your turn

Page 40: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 40

EBCDIC and ASCII are built around the Latin alphabet

Are restricted in their ability for representing non-Latin alphabet

Countries developed their own codes for native languages

Unicode: 16-bit system that can encode the characters of most languages

16 bits = 216 = 65,636 characters

Character Representation: Unicode

Page 41: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 41

The Java programming language and some operating systems now use Unicode as their default character code

Unicode codespace is divided into six parts

The first part is for Western alphabet codes, including English, Greek, and Russian

Downward compatible with ASCII and Latin-1 character sets

Character Representation: Unicode

Page 42: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 42

Character Representation: Unicode

Page 43: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 43

English section of Unicode Table ACSII equivalent of A is 4116

Unicode is equivalent of A:• 00 4116

Full chart list:http://www.unicode.org/charts/

Character Representation: Example

Page 44: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 44

Performing Arithmetic

Page 45: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 45

0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 10 (carry: 1)

• E.g.1 1 1 1 1 (carry)

0 1 1 0 1+ 1 0 1 1 1= 1 0 0 1 0 0

Binary Addition

Page 46: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 46

0 - 0 = 00 - 1 = 1 (with borrow)1 - 0 = 11 - 1 = 0

• E.g.* * * (borrow)1 0 1 1 0 1

- 0 1 0 1 1 1= 0 1 0 1 1 0

Binary Subtraction

Page 47: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 47

• E.g.1 0 1 1

x 1 0 1 00 0 0 0

+ 1 0 1 1+ 0 0 0 0+ 1 0 1 1= 1 1 0 1 1 1 0

Binary Multiplication

Page 48: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 48

• E.g.1 0 1

1 0 1 1 1 0 1 1 - 1 0 1

0 1 1- 0 0 0

1 1 1- 1 0 1

1 0

Binary Division

Page 49: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 49

Problems of number representationPositive and negativeRadix pointRange of representation

Different ways to represent numbersUnsigned representation: non-negative integersSigned representation: integersFloating-point representation: fractions

Representing Numbers

Page 50: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 50

Unsigned binary numbersHave 0 and 1 to represent numbers

Only positive numbers stored in binary

The Smallest binary number would be …0 0 0 0 0 0 0 0 which equals to 0

The largest binary number would be …1 1 1 1 1 1 1 1 which equals ….128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255 = 28-1

Therefore the range is 0 - 255 (256 numbers)

Unsigned and Signed Numbers

Page 51: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 51

Signed binary numbers

Have 0 and 1 to represent numbers

The leftmost bit is a sign bit• 0 for positive

• 1 for negative

Sign bitSign bit

Unsigned and Signed Numbers

Page 52: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 52

Signed binary numbersThe Smallest positive binary number is

0 0 0 0 0 0 0 0 which equals to 0

The largest positive binary number is0 1 1 1 1 1 1 1 which equals ….64 + 32 + 16 + 8 + 4 + 2 + 1 = 127 = 27- 1

Therefore the range for positive numbers is 0 - 127(128 numbers)

Unsigned and Signed Numbers

Page 53: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 53

Problems with simple signed representationTwo representation of zero: + 0 and – 0

0 0 0 0 0 0 0 0 and 1 0 0 0 0 0 0 0

Need to consider both sign and magnitude in arithmetic• E.g. 5 – 3• = 5 + (-3)• = 0 0 0 0 0 1 0 1 + 1 0 0 0 0 0 1 1• = 1 0 0 0 1 0 0 0• = -8

Negative Numbers in Binary

Page 54: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 54

Problems with simple signed representationNeed to consider both sign and magnitude in arithmetic• E.g. = 18 + (-18)• = 0 0 0 1 0 0 1 0 + 1 0 0 1 0 0 1 0• = 1 0 1 0 0 1 0 0• = -36

Negative Numbers in Binary…

Page 55: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 55

The representation of a negative integer (Two’s Complement) is established by:

Start from the signed binary representation of its positive valueCopy the bit pattern from right to left until a 1 has been copiedComplement the remaining bits: all the 1’s with 0’s, and all the 0’s with 1’sAn exception: 1 0 0 0 0 0 0 0 = -128

Negative Numbers in Binary…

Page 56: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 56

What is the SMALLEST and LARGEST signed binary numbers that can be stored in 1 BYTE

Your turn

Page 57: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 57

0 1 1 1 1 1 1 1 = +127..

0 0 0 0 0 0 1 1 = +30 0 0 0 0 0 1 0 = +20 0 0 0 0 0 0 1 = +10 0 0 0 0 0 0 0 = 01 1 1 1 1 1 1 1 = -11 1 1 1 1 1 1 0 = -21 1 1 1 1 1 0 1 = -3

.1 0 0 0 0 0 0 1 = -1271 0 0 0 0 0 0 0 = -128

Two’s Compliment (8 bit pattern)

Page 58: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 58

One representation of zero

Arithmetic works easily

Negating is fairly easy

Two’s Compliment benefits

Page 59: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 59

8-bit unsigned binary representationLargest number: 1 1 1 1 1 1 1 12 = 25510Smallest number: 0 0 0 0 0 0 0 02 = 010

8-bit two’s complement representationLargest number: 0 1 1 1 1 1 1 12 = 12710Smallest number: 1 0 0 0 0 0 0 02 = -12810

The problem of overflow13010 = 1 0 0 0 0 0 1 02

0 0 0 0 1 02 in two’s complement

Ranges of Integer Representation

Page 60: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 60

Geometric Depiction of Two’s Complement Integers

Page 61: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 61

-2,147,483,648 to 2,147,483,64732long int

0 to 4,294,967,29532unsigned long int

-32768 - 32767 16int

0 – 6553516unsigned int

RangeSize in BitsType

Integer Data Types in C++

Page 62: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 62

• 16.357 = the SUM of ...

7 * 10-3 = 7/10005 * 10-2 = 5/1003 * 10-1 = 3/106 * 100 = 61 * 101 = 10

• 7/1000 + 5/100 + 3/10 + 6 + 10 = 16 357/1000

Fractions in Decimal

Page 63: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 63

• 10.011 = the SUM of ...

1 * 2-3 = 1/81 * 2-2 = 1/40 * 2-1 = 00 * 20 = 01 * 21 = 2

• 1/8 + 1/4 + 2 = 2 3/8• i.e. 10.011 = 2 3/8 in Decimal (Base 10)

Fractions in Binary

Page 64: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 64

What is 011.0101 in Base 10?

Your turn

Page 65: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 65

• 011.0101 = the SUM of ...

1 * 2-4 = 1/160 * 2-3 = 01 * 2-2 = 1/40 * 2-1 = 01 * 20 = 11 * 21 = 20 * 22 = 0

• 1/16 + 1/4 + 1 + 2 = 3 5/16

Fractions in Binary

Page 66: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 66

Consider the following representation in decimal number …

135.26 = .13526 x 103

13526000 = .13526 x 108

0.0000002452 = .2452 x 10-6

.13526 x 103 has the following components:a Mantissa = .13526an Exponent = 3a Base = 10

Decimal Scientific Notation

Page 67: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 67

Scientific notation for binary. Examples …

11011.101 = 1.1011101 x 24

-10110110000 = -1.011011 x 210

0.00000010110111 = 1.0110111 x 2-7

Floating Point Representation ofFractions

Page 68: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 68

MANTISSA

EXPONENTEXPONENT

SIGNSIGN

RADIX POINTRADIX POINT

SIGN = 00 (+ve) | 11 (-ve)EXPONENT in EXCESS FOUR EXCESS FOUR Notation

Floating Point Format in 1 Byte

Page 69: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 69

•To STORE the number ...+11/8 = 1.001

in FLOATING POINT NOTATION ...

1. STORE the SIGN BIT

Floating Point Format in 1 Byte

Page 70: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 70

•To STORE the number ...+11/8 = 1.001

in FLOATING POINT NOTATION ...

1. STORE the SIGN BIT

00

Floating Point Format in 1 Byte

Page 71: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 71

•To STORE the number ...+11/8 = 1.001

in FLOATING POINT NOTATION ...

2. STORE the MANTISSA BITS

00

Floating Point Format in 1 Byte

Page 72: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 72

•To STORE the number ...+11/8 = 1.001

in FLOATING POINT NOTATION ...

2. STORE the MANTISSA BITS

00 00 00 11 00

Floating Point Format in 1 Byte

Page 73: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 73

•To STORE the number ...+11/8 = 1.001

in FLOATING POINT NOTATION ...

3. STORE the EXPONENT BITS

00 00 00 11 00

Floating Point Format in 1 Byte

Page 74: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 74

Bit Pattern Value Representation111 4 110 3101 2100 1011 0010 -1001 -2000 -3

EXCESS THREE NOTATIONAn excess notation system using bit pattern of length three

Excess-k Representation

Page 75: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 75

For N bit numbers, k is 2N-1-1– E.g., for 4-bit integers, k is 7The actual value of each bit string is its

unsigned value minus kTo represent a number in excess-k, add k

Excess-k Representation

Page 76: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 76

Excess-k Representation

• 0000.................... 0001.................... 0010.................... 0011.................... 0100.................... 0101.................... 0110.................... 0111.................... 1000.................... 1001.................... 1010.................... 1011.................... 1100.................... 1101.................... 1110.................... 1111....................

0123456789

101112131415

-7-6-5-4-3-2-1012345678

k = 7

Unsigned Excess-k

sliding ruler

Page 77: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 77

•To STORE the number ...+11/8 = 1.001

in FLOATING POINT NOTATION ...

3. STORE the EXPONENT BITS

00 00 11 11 00 00 11 00

Floating Point Format in 1 Byte

Page 78: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 78

•To STORE the number ...-31/4 = -11.01

in FLOATING POINT NOTATION ...

1. STORE the SIGN BIT

Floating Point Format in 1 Byte

Page 79: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 79

•To STORE the number ...-31/4 = -11.01

in FLOATING POINT NOTATION ...

1. STORE the SIGN BIT

11

Floating Point Format in 1 Byte

Page 80: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 80

•To STORE the number ...-31/4 = -11.01

in FLOATING POINT NOTATION ...

2. STORE the MANTISSA BITS

11

Floating Point Format in 1 Byte

Page 81: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 81

•To STORE the number ...-31/4 = -11.01

in FLOATING POINT NOTATION ...

2. STORE the MANTISSA BITS

11 11 00 11 00

Floating Point Format in 1 Byte

Page 82: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 82

•To STORE the number ...-31/4 = -11.01

in FLOATING POINT NOTATION ...

3. STORE the EXPONENT BITS

11 11 11 00 11

Floating Point Format in 1 Byte

Page 83: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 83

•To STORE the number ...-31/4 = -11.01

in FLOATING POINT NOTATION ...

3. STORE the EXPONENT BITS

11 11 00 00 11 11 00 11

Floating Point Format in 1 Byte

Page 84: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 84

Write down the FLOATING POINTform for the number +11/64 ?

Your turn

Page 85: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 85

1. STORE the SIGN BIT

SOLUTION: +11/64 ( .001011 )

Page 86: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 86

1. STORE the SIGN BIT

00

SOLUTION: +11/64 ( .001011 )

Page 87: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 87

2. STORE the MANTISSA BITS

00

SOLUTION: +11/64 ( .001011 )

Page 88: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 88

2. STORE the MANTISSA BITS

00 00 11 11 00

SOLUTION: +11/64 ( .001011 )

Page 89: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 89

3. STORE the EXPONENT BITS

00 00 00 00 11 00 11 11

SOLUTION: +11/64 ( .001011 )

Page 90: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 90

•Example ...•CONVERT 10111010 to decimal steps ...

1. Convert EXPONENT (EXCESS 4)

2. Apply EXPONENT to MANTISSA

3. Convert BINARY Fraction

4. Apply SIGN

Converting FP Binary to Decimal

Page 91: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 91

1. CONVERT THE EXPONENT

0 1 11 1 0 1 0

0 1 1 3 3 -- 3 = 03 = 0

SOLUTION: 10111010

Page 92: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 92

0 1 11 1 0 1 0

2. APPLY the EXPONENT to the MANTISSA

1 0 1 01

SOLUTION: 10111010

Page 93: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 93

0 1 11 1 0 1 0

3. CONVERT from BINARY FRACTION

1 0 1 01 11 ++ 11//22 + + 11//88 = 1 = 1 55//88

SOLUTION: 10111010

Page 94: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 94

0 1 11 1 0 1 0

4. APPLY the SIGN

(( 1 +1 + 11//22 + + 11//88 ) = ) = -- 1 1 55//88--

SOLUTION: 10111010

Page 95: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 95

•CONSIDER the FLOATING POINT Form of the number...

+ 2 5/16

ROUND-OFF ERRORS

Page 96: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 96

1. CONVERT to BINARY FRACTION ...25/8 = 10.0101

i.e. 2 + 1/4 + 1/16

ROUNDROUND--OFF ERRORS OFF ERRORS +2+255//88

Page 97: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 97

2. STORE THE SIGN BIT ...

ROUNDROUND--OFF ERRORS OFF ERRORS +2+255//88 = 10.10110.101

Page 98: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 98

2. STORE THE SIGN BIT ...

0

ROUNDROUND--OFF ERRORS OFF ERRORS +2+255//88 = 10.10110.101

Page 99: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 99

3. STORE THE MANTISSA ...

0

ROUNDROUND--OFF ERRORS OFF ERRORS +2+255//88 = 10.10110.101

Page 100: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 100

3. STORE THE MANTISSA ...

0 0 0 1 0 1

ROUNDROUND--OFF ERRORS OFF ERRORS +2+255//88 = 10.10110.101

Page 101: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 101

3. STORE THE MANTISSA ...

0 0 0 1 0 1

ROUNDROUND--OFF ERRORS OFF ERRORS +2+255//88 = 10.10110.101

Page 102: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 102

3. STORE THE MANTISSA ...

0 0 0 1 0

1

ROUNDROUND--OFF ERRORS OFF ERRORS +2+255//88 = 10.10110.101

Page 103: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 103

4. STORE THE EXPONENT ...

0 0 0 1 0

ROUNDROUND--OFF ERRORS OFF ERRORS +2+255//88 = 10.10110.101

Page 104: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 104

4. STORE THE EXPONENT ...

0 0 0 1 01 0 0

Converting this back to DECIMAL we get ...

21/4 i.e. a ROUND OFF ERROR of 1/16

ROUNDROUND--OFF ERRORS OFF ERRORS +2+255//88 = 10.10110.101

Page 105: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 105

What is the BIGGEST and SMALLEST can be represented by one-byte floating point notation

Range of FP Representation

Page 106: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 106

The biggest number can be represented by one-byte floating point notation is:

= +1.1111 x 24 = +11111 = +31

0 1 1 1 11 1 1

Range of FP Representation

Page 107: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 107

The Smallest positive number can be represented by one-byte floating point notation is:

= +1.0000 x 2-3 = +.001 = +1/8

0 0 0 0 00 0 0

Range of FP Representation

Page 108: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 108

The largest negative number can be represented by one-byte floating point notation is:

= -1.0000 x 2-3 = -.001 = -1/8

1 0 0 0 00 0 0

Range of FP Representation

Page 109: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 109

The smallest number can be represented by one-byte floating point notation is:

= -1.1111 x 24 = -11111 = -31

1 1 1 1 11 1 1

Range of FP Representation

Page 110: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 110

What is the SOLUTION for this???

Range of FP Representation

Page 111: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 111

3.4E-4932 to 3.4E+4932 Ten digits of precision

80long double

1.7E-308 to 1.7E+308 Ten digits of precision

64double

3.4E-38 to 3.4E+38 Six digits of precision

32float

RangeSize in BitsType

Floating-Point Data types in C++

Page 112: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 112

Sign

bit

Sign

bit

BiasedBiasedExponentExponent

Significand or MantissaSignificand or Mantissa

+/- . Mantissa x 2 exponent

Point is actually fixed between sign bit and body of Mantissa

Exponent indicates place value (point position)

Floating-Point Representation

Page 113: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 113

Mantissa is stored in 2’s compliment

Exponent is in excess notation8 bit exponent fieldPure range is 0 – 255Subtract 127 to get correct valueRange -127 to +128

Floating-Point Representation

Page 114: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 114

Floating Point numbers are usually normalizedi.e. exponent is adjusted so that leading bit (MSB) of mantissa is 1Since it is always 1 there is no need to store itWhere numbers are normalized to give a single digit before the decimal point

E.g. 3.123 x 103

Floating-Point Representation

Page 115: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 115

Floating-Point Representation

Page 116: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 116

Floating Point Representation: Expressible Numbers

Page 117: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 117

Representing the Mantissa

The mantissa has to be in the range 1 ≤ mantissa < base

Therefore If we use base 2, the digit before the point must be a 1So we don't have to worry about storing it

We get 24 bits of precision using 23 bits24 bits of precision are equivalent to a little over 7 decimal digits:

24log2 10

≈ 7.2

Page 118: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 118

Representing the Mantissa

Suppose we want to represent π:3.1415926535897932384626433832795.....

That means that we can only represent it as:

3.141592 (if we truncate)3.141593 (if we round)

Page 119: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 119

Representing the Mantissa

The IEEE standard restricts exponents to the range:

–126 ≤ exponent ≤ +127

The exponents –127 and +128 have special meanings:– If exponent = –127, the stored value is 0

– If exponent = 128, the stored value is ∞

Page 120: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 120

Floating Point Overflow

Floating point representations can overflow, e.g.,

1.111111 × 2127

+ 1.111111 × 2127

11.111110 × 2127

= ∞1.1111111.11111100 ×× 22128128

Page 121: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 121

Floating Point Underflow

Floating point numbers can also get too small, e.g.,

10.010000 × 2-126

÷ 11.000000 × 20

0.110000 × 2-126

= 01.11.10000000000 ×× 22--127127

Page 122: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 122

Floating Point Representation: Double Precision

IEEE-754 Double Precision Standard64 bits:

– 1 bit sign

– 52 bit mantissa

– 11 bit exponent Exponent range is -1022 to +1023

k = 211-1-1=1023

Page 123: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 123

Limitations

Floating-point representations only approximate real numbers

Using a greater number of bits in a representation can reduce errors but can never eliminate them

Floating point errorsOverflow/underflow can cause programs to crashCan lead to erroneous results / hard to detect

Page 124: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 124

Five steps to add two floating point numbers:1. Express the numbers with the same exponent

(denormalize)

2. Add the mantissas

3. Adjust the mantissa to one digit/bit before the point (renormalize)

4. Round or truncate to required precision

5. Check for overflow/underflow

Floating Point AdditionFloating Point Addition

Page 125: IT 1204 Section 2.0 Data Representation and …...Unsigned binary numbers ¾Have 0 and 1 to represent numbers ¾Only positive numbers stored in binary ¾The Smallest binary number

© 2009, University of Colombo School of Computing 125

Thank You