number systems

58
Number Systems

Upload: nolan-copeland

Post on 31-Dec-2015

35 views

Category:

Documents


0 download

DESCRIPTION

Number Systems. Character Representation. ASCII American Standard Code for Information Interchange Standard encoding scheme used to represent characters in binary format on computers 7-bit encoding, so 128 characters can be represented - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Number  Systems

Number

Systems

Page 2: Number  Systems

• ASCII– American Standard Code for Information

Interchange – Standard encoding scheme used to represent

characters in binary format on computers – 7-bit encoding, so 128 characters can be

represented – 0 to 31 (& 127) are "control characters"

(cannot print)

Character Representation

Page 3: Number  Systems

• Decimal, hex & character representations are easier for humans to understand; however…

• All the data in the computer is binary• An int is typically 32 binary digits

– int y = 5; (y = 0x00000005;)• In computer y = 00000000 00000000

00000000 00000101• A char is typically 8 binary digits

– char x = 5; (or char x = 0x05;)• In computer, x = 00000101

Binary Data

Page 4: Number  Systems

• Computer systems are constructed of digital electronics. That means that their electronic circuits can exist in only one of two states: on or off.

• Most computer electronics use voltage levels to indicate their present state. For example, a transistor with five volts would be considered "on", while a transistor with no voltage would be considered "off.”

• These patterns of "on" and "off" stored inside the computer are used to encode numbers using the binary number system.

• Because of their digital nature, a computer's electronics can easily manipulate numbers stored in binary by treating 1 as "on" and 0 as "off.”

How Computers Store Numbers

Page 5: Number  Systems

• A number system defines how a number can be represented using distinct symbols. A number can be represented differently in different systems. For example, the two numbers (2A)16 and (52)8 both refer to the same quantity, (42)10, but their representations are different.

Number System

Page 6: Number  Systems

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

Common Number Systems

System Base SymbolsUsed by humans?

Used in computers?

Decimal 10 0, 1, … 9 Yes No

Binary 2 0, 1 No Yes

Octal 8 0, 1, … 7 No No

Hexa-decimal

16 0, 1, … 9,A, B, … F

No No

Page 7: Number  Systems

• The word decimal is derived from the Latin root decem (ten). In this system the base b = 10 and we use ten symbols:

• The symbols in this system are often referred to as decimal digits or just digits.

Decimal

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

Page 8: Number  Systems

• The word binary is derived from the Latin root bini (or two by two). In this system the base b = 2 and we use only two symbols:

• The symbols in this system are often referred to as binary digits or bits (binary digit).

Binary

S = {0, 1}

Page 9: Number  Systems

• The word hexadecimal is derived from the Greek root hex (six) and the Latin root decem (ten). In this system the base b = 16 and we use sixteen symbols to represent a number. The set of symbols is:

• Note that the symbols A, B, C, D, E, F are equivalent to 10, 11, 12, 13, 14, and 15 respectively. The symbols in this system are often referred to as hexadecimal digits.

• Each hexadecimal digit represents four binary digits (bits), and the primary use of hexadecimal notation is a human-friendly representation of binary-coded values in computing and digital electronics.

Hexadecimal

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

Page 10: Number  Systems

• The word octal is derived from the Latin root octo (eight). In this system the base b = 8 and we use eight symbols to represent a number. The set of symbols is:

• Each octal digit represents three binary digits (bits)

Octal

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

Page 11: Number  Systems

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

Types of Number System

Page 12: Number  Systems
Page 13: Number  Systems

Conversion Among Bases

Decimal Octal

Binary Hexadecimal

The possibilities:

Page 14: Number  Systems

Quick Example

2510 = 110012 = 318 = 1916

Base

Page 15: Number  Systems

Binary to Decimal

Decimal Octal

Binary Hexadecimal

Page 16: Number  Systems

Technique• Multiply each bit by

2n, where n is the “power” of the bit

• The power is the position of the bit, starting from 0 on the right

• ADD the results

Binary to Decimal

1010112 => 1 x 20 = 1

1 x 21 = 2

0 x 22 = 0

1 x 23 = 8

0 x 24 = 0

1 x 25 = 32

4310

Example

Bit 0

Page 17: Number  Systems

Technique• Multiply each bit by

2n, where n is the “power” of the bit

• The power is the position of the bit, starting from 0 on the right

• ADD the results

FRACTIONSBinary to Decimal

10.01102 => 1 0 . 0 1 1 0

Example2-42-32-2 2-12021

Bit 00 x(1/16) = 0

1 x(1/8) = 1/8

1 x(1/4) = 1/4

0 x(1/2) = 0

0 x (1) = 0

1 x (2) = 2

2-4

2-3

2-2

2-1

20

21

Ans:

2.375

Page 18: Number  Systems

Octal to Decimal

Decimal Octal

Binary Hexadecimal

Page 19: Number  Systems

Technique• Multiply each bit by

8n, where n is the “power” of the bit

• The power is the position of the bit, starting from 0 on the right

• Add the results

Octal to Decimal

Example

Bit 0

7248 => 4 x 80 = 4

2 x 81 = 16 7 x 82 = 448

46810

Page 20: Number  Systems

Hexadecimal to Decimal

Decimal Octal

Binary Hexadecimal

Page 21: Number  Systems

Technique• Multiply each bit by

16n, where n is the “power” of the bit

• The power is the position of the bit, starting from 0 on the right

• Add the results

Hexadecimal to Decimal

ExampleBit 0

ABC16 =>

C x 160 = 12 x 1 = 12B x 161 = 11 x 16 = 176A x 162 = 10 x 256 = 2560

274810

Page 22: Number  Systems

Decimal to Binary

Decimal Octal

Binary Hexadecimal

Page 23: Number  Systems

Technique• Divide by the base 2,

keep track of the remainder

• Keep dividing until the quotient is 0.

• Take the remainder from the bottom and move upwards as the answer

Decimal to Binary

E.g.: Convert 12510 to binary

Take the remainder from

bottom upwards as

answer

Ans:1111101

2

Page 24: Number  Systems

Technique• For the numbers after the

point, multiply it by 2• From the answer, take again

the fraction part and multiply it by 2 again

• Keep on multiplying the fraction by 2 until the fraction part is 0

FRACTIONSDecimal to Binary

E.g.: Convert 12.2510 to binary

Ans:1100.01

2

12 / 2 = 6 6 / 2 = 3 3 / 2 = 1 1 / 2 = 0

R0R0R1

R1

0.25 X 2 = 0.50

0.50 X 2 = 1.00

12 . 25

01110

0

Page 25: Number  Systems

3.14579

.14579x 20.29158x 20.58316x 21.16632x 20.33264x 20.66528x 21.33056

etc.11.001001...

FRACTIONSDecimal to Binary

Page 26: Number  Systems

Octal to Binary

Decimal Octal

Binary Hexadecimal

Page 27: Number  Systems

Technique• Convert each octal digit

to a 3-bit equivalent binary representation

• 1 octal digit = 3 binary digits

Octal to Binary

E.g.: Convert 7058 to binary

7 0 5

111 000 101

Start from the right ‘0’ bit

4 2 1 4 2 1 4 2 1

Ans: 111 000 1012

Page 28: Number  Systems

Binary to Octal

Decimal Octal

Binary Hexadecimal

Page 29: Number  Systems

Technique• Divide the binary bits in

group of 3’s, starting from the RIGHT

• Add 0’s to the last group to make it 3 bits

• Convert each grouped binary to their octal digits

Binary to Octal

E.g.: 10110101112

001 011 010 111

1 3 2 7

Start from the right ‘0’ bit

4 2 1

Ans: 13278

4 2 1 4 2 1 4 2 1

001 011 010 111

Divide the binary

numbers into groups of 3’s. Add ‘0’ to the last group to make it 3 bits

Page 30: Number  Systems

Hexadecimal to Binary

Decimal Octal

Binary Hexadecimal

Page 31: Number  Systems

Technique• Convert each

hexadecimal digit to a 4-bit equivalent binary representation

• 1 hexadecimal digit = 4 binary digits

Hexadecimal to Binary

E.g.: Convert 3A816 to binary

3 A (10) 5

0011 1010 0101

Start from the right ‘0’ bit

8 4 2 1

Ans: 0011 1010 01012

8 4 2 1 8 4 2 1

Page 32: Number  Systems

Binary to Hexadecimal

Decimal Octal

Binary Hexadecimal

Page 33: Number  Systems

Technique• Divide the binary bits in

group of 4’s, starting from the RIGHT

• Add 0’s to the last group to make it 4 bits

• Convert each grouped binary to their hexadecimal digits

Binary to Hexadecimal

E.g.: 10101110112

0010 1011 1011

2 11 (B) 11 (B)

Start from the right ‘0’ bit

8 4 2 1

Ans: 2BB16

8 4 2 1 8 4 2 1

0010 1011 1011Divide the binary

numbers into groups of 4’s. Add ‘0’ to the last group to make it 4 bits

Page 34: Number  Systems

Decimal to Octal

Decimal Octal

Binary Hexadecimal

Page 35: Number  Systems

Technique• Divide by the base 8,

keep track of the remainder

• Keep dividing until the quotient is 0.

• Take the remainder from the bottom and move upwards as the answer

Decimal to Octal

E.g.: Convert 123410 to octal

Ans:23228

Take the remainder

from bottom upwards as

answer

Page 36: Number  Systems

Decimal to Hexadecimal

Decimal Octal

Binary Hexadecimal

Page 37: Number  Systems

Technique• Divide by the base 16,

keep track of the remainder

• Keep dividing until the quotient is 0.

• Take the remainder from the bottom and move upwards as the answer

Decimal to Hexadecimal

E.g.: Convert 207910 to binary

Ans:81F16

Take the remainder

from bottom upwards as

answer

Page 38: Number  Systems

Octal to Hexadecimal

Decimal Octal

Binary Hexadecimal

Page 39: Number  Systems

Technique• First step:

Convert the octal digits to their 3-bits binary

• Second step: Combined the binary obtained

• Third step: Divide the binary into groups of 4 (hexadecimal) starting from the RIGHT

• Fourth step: Find the hexadecimal digit from the grouped binary

Octal to Hexadecimal

E.g.: 10768

1 0 7 6

Start from the right ‘0’ bit

8 4 2 1

Ans: 23E16

Divide the binary

numbers into groups of 4’s. Add ‘0’ to the last group to make it 4 bits

001 000 111 110

0010 / 0011 / 1110

8 4 2 1 8 4 2 1

14 (E)32

Page 40: Number  Systems

Hexadecimal to Octal

Decimal Octal

Binary Hexadecimal

Page 41: Number  Systems

Technique• First step:

Convert the hexadecimal digits to their 4-bits binary

• Second step: Combined the binary obtained

• Third step: Divide the binary into groups of 3 (octal ) starting from the RIGHT

• Fourth step: Find the octal digit from the grouped binary

Hexadecimal to Octal

E.g.: C4516

C (12) 4 5

Start from the right ‘0’ bit

4 2 1

Ans: 61058

Divide the binary

numbers into groups of 4’s. Add ‘0’ to the last group to make it 4 bits

1100 0100 0101

110 / 0 01 / 00 0 / 101

4 2 1 4 2 1

016

4 2 1

5

Page 42: Number  Systems

Binary Addition• Binary addition between 2 1-bit values:

A B A + B Z= A+B

0 0 0+0 0

0 1 0+1 1

1 0 1+0 1

1 1 1+1 10“TWO”

Page 43: Number  Systems

10101 + 11001 101110

11

21 + 25 46

Two n-bit values• Add individual

bits• Propagate carries• E.g.:

Binary Addition

Page 44: Number  Systems

A B A - B Z = A-B0 0 0-0 00 1 0-1 1, borrow 11 0 1-0 11 1 1-1 0

Binary Subtraction• Binary subtraction between 2 1-bit values:

Page 45: Number  Systems

1011 - 101 110

1

Binary Subtraction

10111 - 1001 - 1110

E.g.: 1001 – 10111 = ?

10111 is larger than 1001. So swap so that the larger number

is in front and the smaller number is after.

Subtract the numbers and negate the answer by putting

the ‘-’ sign in front.Borrow ‘1’ from the next binary digit. Hence the number will

become 10 which is equals to ‘2’.

In situations like A – B, whereby the binary number ‘B’ is larger than A, swap the number so that B is in

front: B – A. Then negate the answer: B – A = -Y

Page 46: Number  Systems

SIGN BINARYRepresentation of positive and negative numbers

in a computer storage

If the SIGN bit is 1, the number is NEGATIVE

What happens if we make the entire byte all

1s?

11111111= -127

For number -15, the 8-bits binary is 10001111

One way to represent positive or negative

numbers would be to make the left most bit a

SIGN bit.

Example: 00001111

By using that bit for sign, now

the maximum positive number

we can represent is for 7 bits

only:

i.e.: 01111111 = +127

instead of 255 before.

SIGN bit

Only 7-bits taken for calculation

If the SIGN bit is 0, the number is POSITIVE

For number +15, the 8-bits binary is 00001111

Page 47: Number  Systems

1’s complement

The 1's complement of a number is found by changing all 1's to 0's and all 0's to 1's.

This is called as taking complement or 1's complement

Example of 1's Complement is as follows:

Page 48: Number  Systems

2’s complement

The 2's complement of binary number is obtained by adding 1 to the Least Significant Bit (LSB) of 1's complement of the number.

2's complement = 1's complement + 1

Example of 2's Complement is as follows.

Page 49: Number  Systems

SIGN BINARY (ADDITION & SUBTRACTION)

E.g.1 gives + answer due to the positive number is

larger than the negative.

E.g.2 gives - answer due to the negative number is larger than the positive.

There are two situations of sign binary subtraction/addition:

1. Negative number larger = - ANS

2. Positive number larger = + ANS

Sign binaries can be added or subtracted.

E.g.: -120 + 200 is also equal to 200 - 120

E.g.1: 200 – 120 = +80

E.g.2: 120 – 200 = -80

Both situations give different result.

Subtracting/Adding binary

numbers are done by first

taking the NEGATIVE value

and apply what is known as:

1. 1’s complement: convert 1 to 0 and 0 to 1

2. 2’s complement: adding

1 to the 1’s complement.

Page 50: Number  Systems

SIGN BINARY (ADDITION & SUBTRACTION)

E.g.1:23510 – 10210 = 133

First find the 8-bits binary of each decimal.

11101011 01100110

= 235= 102

10011001+ 1

- 1’s comp

10011010+11101011

10000101 = 133

= -102= 235

- 2’s comp

E.g.2:10010 – 6010 = 40

First find the 8-bits binary of each decimal.

0110010000111100

= 100= 60

11000011+ 1

11000100+01100100

00101000 = 40

= -60= 100

- 1’s comp- 2’s comp

1 1

Ignore the carry bcos

there should

only be 8-bits

Ignore the carry bcos

there should

only be 8-bits

Page 51: Number  Systems

SIGN BINARY (ADDITION & SUBTRACTION)

2. Add this value to the smaller number.

3. Apply 1’s & 2’s complement to the value (leave the sign bit as ‘1’ when performing the 1’s comp) to get the final result.

E.g.: 8-bits binary 10001101

E.g.: 16-bits binary 0000110100001101

NEGATIVE NUMBERS

The previous example is subtracting a smaller number from a larger number. If you want to subtract a larger number from a smaller number (giving a negative result), then the process is slightly different.

Here are the steps for subtracting a large number from a smaller one (negative result):

1. Apply 1’s & 2’s complement to the larger number.

Usually, to indicate a

negative most significant bit

(left hand bit) number, the

is set to 1 and the remaining

digits are used to express

the value.

In this format the MSB is

referred to as the sign bit.

Sign bit 7 bits to express value

Sign bit 15 bits to express value

Page 52: Number  Systems

SIGN BINARY (ADDITION & SUBTRACTION)

E.g.1:10010 – 12010 = -20

First find the 8-bits binary of each decimal.

01100100 01111000

= 100= 120

10000111+ 1

- 1’s comp

10001000+01100100

11101100

= -120= 100

- 2’s comp

E.g.2:9610 – 16010 = -64

First find the 8-bits binary of each decimal.

1010000001100000

= 160= 96

01011111+ 1

01100000+01100000

11000000

= -160= 96

- 1’s comp- 2’s compLeave the sign

bit as it is. Do not 1’s

complement it.

0010011+ 1

10010100

- 1’s comp- 2’s comp

= -20

0111111+ 1

11000000

- 2’s comp- 1’s comp

= -64

Leave the sign

bit as it is. Do not 1’s

complement it.

Page 53: Number  Systems

Arithmetic Overflow

What is overflow?

Overflow or arithmetic overflow is a condition that occurs when a calculation produces a result that is greater in magnitude than what a given data type can store or represent.

How to identify the condition of occurrence of overflow?

Assuming we’re dealing with an 8-bit computer, let’s look at the situations below:

E.g.1: 65 + 65 = +130 (Overflow!)

E.g.2: +128 – 5 = +123 (Overflow!)

An overflow occurs when the INPUT or OUTPUT exceeds the range of the whole number of the bits (which in this case is 8-bits) contained which is between -128 to +127.

We can check the range of whole numbers for unsign and

sign binary using the next formulas.

Page 54: Number  Systems

Range of Whole Numbers for a computerSIGN & UNSIGN BINARY

For UNSIGNED numbers, to find the range of numbers, used the following formula:

where bits b = 2b - 1

so for an 8-bits binary, the range is 0 to 255:

2⁸ - 1 = 255

For SIGNED numbers, , to find the range of numbers, used the following formula:

so for an 8-bits binary, the range is between -128 to 127

- (28-1) to 28-1 – 1= - 27 to 27 – 1= - 128 to 127

0 to b = 2b – 1

- (2b-1) to 2b-1 – 1

Page 55: Number  Systems

Floating Point Number

Floating point describes a system for representing numbers that would be too large or too small to be represented as integers.

Numbers are in general represented approximately to a fixed number of significant digits and scaled using an exponent. x

Floating Point Number consists of sign, mantissa and exponent.

The SignThe sign of a binary floating-point number is represented by a single bit. A 1 bit indicates a negative number, and a 0 bit indicates a positive number.

How do floating-numbers store?

The MantissaThe mantissa, also known as the significand, represents the precision bits of the number. The mantissa of a floating-point number is expressed as a binary number.

Page 56: Number  Systems

Floating Point Number

There are two most common floating point storage format:

The ExponentIEEE Short Real exponents are stored as 8-bit unsigned integers with a bias of 127.

While the exponent can be positive or negative, in binary formats it is stored as an unsigned number that has a fixed "bias" added to it.

The exponent bias for single precision is 127 and for double precision is 1023. Single

PrecisionIEEE Short Real: 32 bits

Sign: 1 bit Exponent: 8 bitsMantissa: 23 bits

Double PrecisionIEEE Long Real: 64 bits

Sign: 1 bit Exponent: 11 bitsMantissa: 52 bits

To calculate the floating point

numbers for known width of

mantissa and exponent, we use

this formula:

Value = (-1)sign x (1.mantissa) x 2exp-127

Page 57: Number  Systems

Floating Point Number

Represent the following binary number into 32-bit IEEE Single Precision floating point number: E.g.1: 1.1101 x 220

s = 0, since the sign is positive m = 11010000000000000000000e = 10010011

WORKING in finding the exponent:

e = 2020 = e – 127e = 20 + 127e = 147

147 change to binary (8-bits for single precision) is 10010011.

Hence, e = 10010011

ANS: 0 10010011 11010000000000000000000

Page 58: Number  Systems

Floating Point Number

Represent the following 32-bit IEEE Single Precision floating point number into binary number: E.g.2: 1 00001100 10001110000000000000000

s= 1e= 00001100 = 12m= 1000111

Value = (-1)s x (1.m) x 2e-127

= (-1)1 x (1.1000111) x 212-127

= -1.1000111 x 2115

ANS: -1.1000111 x 2115