0% found this document useful (0 votes)
42 views

Lect03 Number Systems

The document discusses various common number systems including decimal, binary, octal, and hexadecimal. It provides techniques for converting between these different bases, including dividing or multiplying by the base and tracking remainders. Signed binary numbers are also covered, noting the challenges of simply adding a sign bit and introducing two's complement notation as an alternative approach.

Uploaded by

Vimbai Chitura
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views

Lect03 Number Systems

The document discusses various common number systems including decimal, binary, octal, and hexadecimal. It provides techniques for converting between these different bases, including dividing or multiplying by the base and tracking remainders. Signed binary numbers are also covered, noting the challenges of simply adding a sign bit and introducing two's complement notation as an alternative approach.

Uploaded by

Vimbai Chitura
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 35

Number representation

Common Number Systems


Used by Used in
System Base Symbols humans? computers?
Decimal 10 0, 1, … 9 Yes No
Binary 2 0, 1 No Yes
Octal 8 0, 1, … 7 No No
Hexa- 16 0, 1, … 9, No No
decimal A, B, … F
Conversion Among Bases
• The possibilities:

Decimal Octal

Binary Hexadecimal

pp. 40-
46
Decimal to Binary
• Technique
– Divide by two, keep track of the remainder
– First remainder is bit 0 (LSB, least-significant
bit)
– Second remainder is bit 1
– Etc.
Example
12510 = ?2 2 125
2 62 1

2 31 0
15 1
2
7 1
2
2 3 1

2 1 1
0 1

12510 = 11111012
Binary to Decimal
• Technique
– Multiply each bit by 2n, where n is the “weight”
of the bit
– The weight is the position of the bit, starting
from 0 on the right
– Add the results
Example
Bit “0”

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
Decimal to Octal
• Technique
– Divide by 8
– Keep track of the remainder
Example
123410 = ?8

8 1234
154 2
8
19 2
8
2 3
8
0 2

123410 = 23228
Octal to Decimal
• Technique
– Multiply each bit by 8n, where n is the “weight”
of the bit
– The weight is the position of the bit, starting
from 0 on the right
– Add the results
Example

7248 => 4 x 80 = 4
2 x 81 = 16
7 x 82 = 448
46810
Decimal to Hexadecimal
• Technique
– Divide by 16
– Keep track of the remainder
Example
123410 = ?16

16 1234
16 77 2

16 4 13 = D
0 4

123410 = 4D216
Hexadecimal to Decimal
• Technique
– Multiply each bit by 16n, where n is the
“weight” of the bit
– The weight is the position of the bit, starting
from 0 on the right
– Add the results
Example

ABC16 => C x 160 = 12 x 1 = 12


B x 161 = 11 x 16 = 176
A x 162 = 10 x 256 = 2560
274810
Binary to Octal
• Technique
– Group bits in threes, starting on right
– Convert to octal digits
Example
10110101112 = ?8

1 011 010 111

1 3 2 7

10110101112 = 13278
Octal to Binary
• Technique
– Convert each octal digit to a 3-bit equivalent
binary representation
Example
7058 = ?2

7 0 5

111 000 101

7058 = 1110001012
Binary to Hexadecimal
• Technique
– Group bits in fours, starting on right
– Convert to hexadecimal digits
Example
10101110112 = ?16

10 1011 1011

2 B B

10101110112 = 2BB16
Octal to Hexadecimal
• Technique
– Use binary as an intermediary
Hexadecimal to Binary
• Technique
– Convert each hexadecimal digit to a 4-bit
equivalent binary representation
Example
10AF16 = ?2

1 0 A F

0001 0000 1010 1111

10AF16 = 00010000101011112
Octal to Hexadecimal
• Technique
– Use binary as an intermediary
Example
10768 = ?16

1 0 7 6

001 000 111 110

2 3 E

10768 = 23E16
Hexadecimal to Octal
• Technique
– Use binary as an intermediary
Example
1F0C16 = ?8

1 F 0 C

0001 1111 0000 1100

1 7 4 1 4

1F0C16 = 174148
Binary Addition
• Two n-bit values
– Add individual bits
– Propagate carries
– E.g.,
1 1
10101 21
+ 11001 + 25
101110 46
Multiplication
• Binary, two n-bit values
– As with decimal values
– E.g.,
1110
x 1011
1110
1110
0000
1110
10011010
Binary Division

101 11100101
Signed Binary Numbers
• The major drawback with the representation
that we've used for unsigned binary numbers is
that it doesn't include a way to represent
negative numbers.

• There are a number of ways to extend the


unsigned representation to include negative
numbers.
• One of the easiest is to add an additional bit to
each number that is used to represent the sign
of the number{ if this bit is 1, then the number is
negative, otherwise the number is positive (or
vice versa).

• Unfortunately, when we try to adapt the


algorithm for addition to work properly with this
representation, this apparently simple method
turns out to cause some trouble.
• Instead of simply adding the numbers together
as we do with unsigned numbers, we now need
to consider whether the numbers being added
are positive or negative.

• If one number is positive and the other negative,


then we actually need to
• do subtraction instead of addition, so we'll need
to find an algorithm for subtraction.
• Furthermore, once we've done the subtraction,
we need to compare the unsigned
• magnitudes of the numbers to determine
whether the result is positive or negative.
• Luckily, there is a representation that allows us
to represent negative numbers in such a way
that addition (or subtraction) can be done
easily, using algorithms very similar to the ones
that we already have.

• The representation that we will use is called


two's complement notation.

You might also like