1 / 42

HEXADECIMAL NUMBERS Code - PowerPoint PPT Presentation

WRITING one’s and zero’s can be error prone when dealing with large numbers. IBM came up with the following method of dealing with these numbers. BASE 16 with digits 0 - 15 in base 10 are represented by the following notation in Hexadecimal. 0 16 = 0000 2 = 0 10 8 16 = 1000 2 = 8 10

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
WRITING one’s and zero’s can be error prone when dealing with large numbers. IBM came up with the following method of dealing with these numbers. BASE 16 with digits 0 - 15 in base 10 are represented by the following notation in Hexadecimal.

016 = 00002 = 010 816 = 10002 = 810

116 = 00012 = 110 916 = 10012 = 910

216 = 00102 = 210 A16 = 10102 = 1010

316 = 00112 = 310 B16 = 10112 = 1110

416 = 01002 = 410 C16 = 11002 = 1210

516 = 01012 = 510 D16 = 11012 = 1310

616 = 01102 = 610 E16 = 11102 = 1410

716 = 01112 = 710 F16 = 11112 = 1510

EXAMPLEConvert A716 to binary

Note: This is easy because of the relationship between the two bases

A = 1010 7 = 0111

Therefore 0A7H or \$A7 = 10100111

Since this is a number a different base than base 10, absence of the zero may confuse a compiler. Therefore it is customary to add the leading 0 to any hex character that begins with a letter of the alphabet(A,B,C,D,E,F) !! These are NUMBERS in base 16 !!

Base 16 Conversion
Similar Rules as to those in binary to decimal

Convert to binary then weighted multiplication -OR-

Leave in HEX and use HEX multiplication

EXAMPLE (repeated multiplication)

\$F8E6H = F(16)3 + 8 (16)2 + E(16)1 + 6(16)0

= 15(16)3 + 8 (16)2 + 14(16)1 + 6(16)0

= 61,440 + 2048 + 224 +6

= 63,718

EXAMPLE (repeated division)

Divisors are for 16 binary digits (4 HEX)

247910 =

2479/16 = 154 remainder 15 or F

154/16 = 9 remainder 10 or A

9/16 = 9 remainder 9 or 9

Same EXAMPLE (but weighted division)

Divisors are for 16 binary digits (4 HEX)

4096, 256, 16, 1

247910 =

2479/256 = 9 remainder .68359375 x256 =

175/16 = 10 or A remainder .9375 x 16 =

15/1 = 15 or F

DECIMAL 8421 BINARY0 0000 0000

1 0001 0001

2 0010 0010

3 0011 0011

4 0100 0100

5 0101 0101

6 0110 0110

7 0111 0111

8 1000 1000

9 1001 1001

10 0001 0001 1010

11 0001 0010 1011

....

98 1001 1000 1100010

99 1001 1001 1100011

7421 6311 5421 5311 5211

0000 0000 0000 0000 0000

0001 0001 0001 0000 0001

0010 0011 0010 0011 0011

0011 0100 0011 0100 0101

0100 0101 0100 0101 0111

0101 0111 1000 1000 1000

0110 1000 1001 1001 1001

1000 1001 1010 1011 1011

1001 1011 1011 1100 1101

1010 1100 1100 1101 1111

BINARY CODES

BCD

4 Bit BCD CODES

Decimal 4221 3321 2421 84/2/1 74/2/1

0 0000 0000 0000 0000 0000

1 0001 0001 0001 0111 0111

2 0010 0010 0010 0110 0110

3 0011 0011 0011 0101 0101

4 1000 0101 0100 0100 0100

5 0111 1010 1011 1011 1010

6 1100 1100 1100 1010 1001

7 1101 1101 1101 1001 1000

8 1110 1110 1110 1000 1111

9 1111 1111 1111 1111 1110

MORE 4-BIT BCD CODES

The / is subtract

weight

Decimal 2-out of-5 63210 Shift-Counter 86421 51111

0 00011 00110 00000 00000 00000

1 00101 00011 00001 00001 00001

2 00110 00101 00011 00010 00011

3 01001 01001 00111 00011 00111

4 01010 01010 01111 00100 10000

5 01100 01100 11111 00101 10000 6 10001 10001 11110 01000 11000

7 10010 10010 11100 01001 11100

8 10100 10100 11000 10000 11110

9 11000 11000 10000 10001 11111

5-BIT CODES
Alphanumeric Codes

ASCII CODE 7 BITS

EBCDIC CODE 8 BITS

UNICODE 16 Bits

OTHER CODES
UNICODE

16 BIT CODE

First Page 0000H - 00FFH Same as ASCII

Has not been standardized the remaining

0FFFFH minus 00FFH available for all remaining

countries and languages!

Three major schemes:

sign and magnitude

ones complement

twos complement

nines complement

tens complement

Assumptions:

we'll assume a 4 bit machine word

16 different values can be represented

roughly half are positive, half are negative

Number Systems

Representation of Negative Numbers

Number Systems

Sign and Magnitude Representation

High order bit is sign: 0 = positive (or zero), 1 = negative

Three low order bits is the magnitude: 0 (000) thru 7 (111)

Number range for n bits = +/-2 -1

Representations for 0 Two +/-

n-1

Subtraction implemented by addition & 1's complement

Still two representations of 0! This causes some problems

Number Systems

Ones Complement

Only one representation for 0

One more negative number than positive number

Number Representations

Twos Complement

like 1's comp

except shifted

one position

clockwise

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 0 + carry 1 to next column

RULES FOR SUBTRACTION

0 - 0 = 0

0 - 1 = 1 and borrow from next column

1 - 0 = 1

1 - 1 = 0

Borrowing 1 from next column is equivalent to subtracting 1 from that column

BINARY ARITHMETIC

+ 1101 10111

SUBTRACT 1010 from 1101

borrow 4 subtract 2

1101 nothing in 4 position

- 1010

0011

Number Representations

Sign and Magnitude

4

+ 3

7

0100

0011

0111

-4

+ (-3)

-7

1100

1011

1111

When signs is same,

result sign bit is the

same as the operands'

When signs differ,

operation is subtract,

sign of result depends

on sign of number with

the larger magnitude. This

is what we do in base 10.

4

- 3

1

0100

1011

0001

-4

+ 3

-1

1100

0011

1001

Must compare magnitudes to determine the

sign of result.

Number Systems

Sign and Magnitude

The symbol N, with a bar over it, is used to represent the complement. Also used to indicate inversion are /, ‘, or ! (CUPL and ABEL)

N is positive number, then N is its negative 1's complement. N is the precision, as many 1’s as required. Binary can be any precision, but BCD requires 4 bits.

4

2 = 10000

-1 = 00001

1111

-7 = 0111

1000

To find 1's complement of 7

= -7 in 1's comp.

Ones Complement

Precision 4 bits

Therefore,

The general formula for finding

/N = (2n - 1) - N

4

2 = 10000

-1 = 00001

1111

-0 = 0000

1111

To find 1's complement of 0

= -0 in 1's comp.

Ones ComplementZERO

Applying the general formula

/N = (2n - 1) - N

NOTE:

The complement of 0 is 1111, which means, there are

2 representations of 0.

0000 Positive 0

1111 Negative 0

SHORTCUT1’s Complement

Shortcut method:

Replace all 0’s with 1’s, and all 1’s with 0’s

simply compute bit wise complement

7 in 1’s complement 0111 -> 1000

Number Systems

Ones Complement Calculations

4

+ 3

7

0100

0011

0111

-4

+ (-3)

-7

1011

1100

10111

1

1000

End around carry

4

- 3

1

0100

1100

10000

1

0001

-4

+ 3

-1

1011

0011

1110

End around carry

Number Systems

Addition and Subtraction of Binary Numbers

Ones Complement Calculations

Why does end-around carry work?

Its equivalent to subtracting 2 and adding 1

n

For (M > N)

M - N = M + / N = M + (2n - N -1) = (M - N) + 2n - 1

For M + N < 2n-1

-M + (-N) = M + N = (2n - M - 1) + (2n - N - 1)

= 2n + [2n - 1 - (M + N)] - 1

after end around carry the -1 is canceled if a carry, else not:

= 2n - 1 - (M + N)

this is the correct form for representing -(M + N) in 1's complement!

4

2 = 10000

7 = 0111

1001 = represents -7

4

2 = 10000

-0 = 0000

0000 = 0

sub

Number SystemsTwo’s Complement Numbers

/N = 2n - N

Note: subtract number immediately.

sub

Example: Twos complement of 7

Example: Twos complement of 0

Only 4bits can represent number.

The most significant 1 is dropped!

Shortcut method Number 1:

Twos complement =1’s complement + 1

0111 -> 1000 + 1 -> 1001 (representation of -7)

1001 -> 0110 + 1 -> 0111 (representation of 7)

SHORTCUT

Shortcut method Number 2:

Starting from the right, least significant bit, if 0 leave unchanged.

Continue from right to left, if 0, no change. When the first 1 is encountered,

we leave it unchanged, but complement each digit to the left.

710 = 01112 Apply method 10012 = -710 .

6810 = 011001002 yields 100111002 . The lead 0 is important so that

the number to be converted

is positive! In base 10, the - sign

does that for us. With only on and

off (0,1) we need this extra bit

of information to describe the

signed number.

-6810 = 10011100 yields 011001002 = + 6810

Number Systems

Addition and Subtraction of Binary Numbers

Twos Complement Calculations

4

+ 3

7

0100

0011

0111

-4

+ (-3)

-7

1100

1101

11001

4

- 3

1

0100

1101

10001

-4

+ 3

-1

1100

0011

1111

Simpler addition scheme makes twos complement the most common

choice for integer number systems within digital systems

Number Systems

Addition and Subtraction of Binary Numbers

Twos Complement Calculations

Why can the carry-out be ignored?

-M + N when N > M:

n

n

M* + N = (2 - M) + N = 2 + (N - M)

n

Ignoring carry-out is just like subtracting 2

n-1

-M + -N where N + M < or = 2

n

n

-M + (-N) = M* + N* = (2 - M) + (2 - N)

= 2 - (M + N) + 2

n

n

After ignoring the carry, this is just the right twos compl.

representation for -(M + N)!

Number Systems

Overflow Conditions

Add two positive numbers to get a negative number

or two negative numbers to get a positive number

-1

-1

+0

+0

-2

-2

1111

0000

+1

1111

0000

+1

1110

1110

0001

0001

-3

-3

+2

+2

1101

1101

0010

0010

-4

-4

1100

+3

1100

+3

0011

0011

-5

-5

1011

1011

0100

+4

0100

+4

1010

1010

-6

-6

0101

0101

+5

+5

1001

1001

0110

0110

-7

-7

+6

+6

1000

0111

1000

0111

+1=6 (ok)

-8

-8

+7

+7

+2=7 (ok)

+3=-8 (error)

-7 - 2 = +7

4 bit representation

range -8 to +7

5 0101

+3 0011

-8 1000

OVERFLOW

to sign bit and there is a carry-out

then no overflow.

if carry-in differs from

carry-out then overflow

This is true for both 1’s and 2’s complement addition.

0 1 1 1 carry

0 1 0 1

0 0 1 1

1 0 0 0

1 0 0 0 carry

1 0 0 1

1 1 1 0

1 0 1 1 1

5

3

-8

-7

-2

7

0 0 0 0 carry

0 1 0 1

0 0 1 0

0 1 1 1

1 1 1 1 carry

1 1 0 1

1 0 1 1

1 1 0 0 0

5

2

7

-3

-5

-8

No overflow

No overflow

Number Systems

Overflow Conditions

Example is using 2’s Complement

Overflow

Overflow

Note: the carry and penultimate carry are not the same!

This can be very easily implemented in hardware. XOR

Overflow when carry in to sign does not equal carry out

BCD Number Representation

Decimal digits 0 thru 9 represented as 0000 thru 1001 in binary

5 = 0101

3 = 0011

1000 = 8

5 = 0101

8 = 1000

1101 = 13!

Problem

when digit

sum exceeds 9

Solution: add 6 (0110) if sum exceeds 9.

5 = 0101

8 = 1000

1101

6 = 0110

1 0011 = 1 3 in BCD

9 = 1001

7 = 0111

1 0000 = 16 in binary

6 = 0110

1 0110 = 1 6 in BCD

BCD Subtractin

Must use 10’s complement

To find 10’s complement, first generate 9’s complement by subtracting

The number from 9.

If n = 9, 9-9 =0 9’s complement of 9 is 0 or 0000

If n = 8, 9-8 =1 9’s complement of 8 is 1 or 0001

If n = 7, 9-7 =2 9’s complement of 7 is 2 or 0010

If n = 6, 9-6 =3 9’s complement of 6 is 3 or 0011

If n = 5, 9-5 =4 9’s complement of 5 is 4 or 0100

If n = 4, 9-4 =5 9’s complement of 4 is 5 or 0101

If n = 3, 9-3 =6 9’s complement of 3 is 6 or 0110

If n = 2, 9-2 =7 9’s complement of 2 is 7 or 0111

If n = 1, 9-1 =8 9’s complement of 1 is 8 or 1000

If n = 0, 9-0 =9 9’s complement of 0 is 9 or 1001

Add 1 to 9’s complement to find 10’s complement.

Example of BCD Subtract

To subtract 2 from 5, find 10’s complement of 2 which is 10002 4 Bit

Representation.

5 5 0101

-2 8 1000

3 1 3 1101 The 1 carry, is normal form

In binary, 1001 is exceeded!

0110

1 0011 The 1 carry is normal form

Excess-3 code is another important BCD Code.

To encode a decimal number, add 3 to each digit before converting to binary.

EXAMPLE (Note: 2 digits represented by 2 4 bit numbers)

12 to excess-3 = 1+3=4 2+3=5

4 5

0100 0101

29 to excess-3 = 2+3=5 9+3=12

5 12

0101 1100

Excess 3 Code
In excess-3 addition, whenever we add two numbers whose sum is 9 or less, an excess-6 number is formed. To return to excess-3 we must subtract 3.

EXAMPLE

2 +5 = 7

0101 2

1000 5

1101 excess-6

- 0011

1010 excess-3 equivalent of 7

CASE 1

In excess-3 addition, whenever we add two numbers whose sum is greater than 9, there will be a carry from one group to the next. When this happens, the group that produced the carry will revert to 8421 (BCD). To return to excess-3 we must subtract 3 from that group.

EXAMPLE

0 1 carry not carried to 10’s because of sum

29 0101 1100 excess-3 for 29

+ 39 0110 1100 excess-3 for 39

68 1100 1000 first result

- 0011 + 0011 subtract less than 9, add 3

1001 1011 excess-3 for 68