0% found this document useful (0 votes)
16 views60 pages

Number Systems: Decimal to Hexadecimal

The document explains various numbering systems including decimal, binary, octal, and hexadecimal, detailing their positional notation and conversion methods. It also covers the representation of integers, characters, and floating point numbers in binary, highlighting signed integer representations such as sign-and-magnitude, ones complement, and twos complement. Examples and exercises are provided to illustrate the conversion processes between these systems.

Uploaded by

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

Number Systems: Decimal to Hexadecimal

The document explains various numbering systems including decimal, binary, octal, and hexadecimal, detailing their positional notation and conversion methods. It also covers the representation of integers, characters, and floating point numbers in binary, highlighting signed integer representations such as sign-and-magnitude, ones complement, and twos complement. Examples and exercises are provided to illustrate the conversion processes between these systems.

Uploaded by

bcomh23104
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Number System

Decimal, Binary, Octal and


Hexadecimal Numbers

Most numbering system use positional


notation :
N = anrn + an-1rn-1 + … + a1r1 + a0r0

Where:
N: an integer with n+1 digits
r: base
ai  {0, 1, 2, … , r-1}
Examples:
a) N = 278
r = 10 (base 10) => decimal numbers
symbol: 0, 1, 2, 3, 4, 5, 6,
7, 8, 9 (10 different symbols)
N = 278 => n = 2;
a2 = 2; a1 = 7; a0 = 8

278 = (2n x 102) n-1


+ (7 x 101)1 + (8 x 10 0
)
N = anr + an-1r + … + a1r + a0r 0

Hundreds Tens Ones


N = anrn + an-1rn-1 + … + a1r1 + a0r0
b) N = 10012
r = 2 (base-2) => binary numbers
symbol: 0, 1 (2 different symbols)
N = 10012 => n = 3;
a3 = 1; a2 = 0; a1 = 0; a0 = 1
10012 = (1 x 23)+(0 x 22)+(0 x 21)+(1 x 20)

c) N = 2638
r = 8 (base-8) => Octal numbers
symbol : 0, 1, 2, 3, 4, 5, 6, 7,
(8 different symbols)
N = 2638 => n = 2; a2 = 2; a1 = 6; a0 = 3
2638 = (2 x 82) + (6 x 81) + (3 x 80)
d) N = 26316
r = 16 (base-16) => Hexadecimal
numbers
symbol : 0, 1, 2, 3, 4, 5, 6, 7, 8,
9, A, B, C, D, E, F
(16 different symbols)

N = 26316 => n = 2;
a2 = 2; a1 = 6; a0 = 3

26316 = (2 x 162)+(6 x 161)+(3 x 160)


Decimal Binary Octal Hexadecimal

0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10

There are also non-positional numbering systems.


Example: Roman Number System
1987 = MCMLXXXVII
Relation between binary number
system and others

Binary and Decimal


• Converting a decimal number into binary (decimal 
binary)
 Divide the decimal number by 2 and take its remainder
 The process is repeated until it produces the result of 0
 The binary number is obtained by taking the remainder from
the bottom to the top
Example: Decimal  Binary

5310 => 53 / 2 = 26 remainder 1


26 / 2 = 13 remainder 0
Read from
13 / 2 = 6 remainder 1
the bottom
6 / 2 = 3 remainder 0 to the top
3 / 2 = 1 remainder 1
1 / 2 = 0 remainder 1

= 1101012 (6 bits)
= 001101012 (8 bits)
(note: bit = binary digit)
0.8110  binary???
0.11001
0.8110 => 0.81 x 2 = 1.62 12
0.62 x 2 = 1.24
0.24 x 2 = 0.48
0.48 x 2 = 0.96
0.96 x 2 = 1.92
0.92 x 2 = 1.84
= 0.1100112 (approximately)
Converting a binary number into decimal
(binary  decimal)
Multiply each bit in the binary number
with the weight (or position)
Add up all the results of the
multiplication performed
The desired decimal number is the
total of the multiplication results
performed
Example: Binary  Decimal

a)1110012 (6 bits)
Þ(1x25) + (1x24) + (1x23) + (0x22) +
(0x21) + (1x20)
= 32 + 16 + 8 + 0 + 0 + 1
= 5710

b)000110102 (8 bits)
= 24 + 23 +21
= 16 + 8 + 2
= 2610
Binary and Octal

Theorem
If base R1 is the integer power of
other base, R2, i.e.
R 1 = R 2d
e.g., 8 = 23
Every group of d digits in R2 (e.g.,
3 digits)is equivalent to 1 digit in
the R1 base
(Note: This theorem is used to convert
binary numbers to octal and hexadecimal or
the other way round)
• From the theorem, assume that
R1 = 8 (base-8) octal
R2 = 2 (base-2) binary
• From the theorem above,
R1 = R2d
8 = 23
So, 3 digits in base-2 (binary) is equivalent
to 1 digit in base-8 (octal)
• From the stated theorem, the
following is a binary-octal
conversion table.
Binary Octal In a computer
000 0 system, the
conversion from
001 1
binary to octal or
010 2
otherwise is based
011 3 on the conversion
100 4 table above.
101 5
110 6
111 7

3 digits in base-2 (binary) is equivalent to 1 digit in base-8 (octal)


Example: Binary  Octal

Convert these binary numbers into octal


numbers:
(a) 001011112 (8 bits) (b) 111101002 (8 bits)

Refer to the binary-octal Refer to the binary-octal


conversion table conversion table
000 101 111 011 110 100

0 5 7 3 6 4

= 578 = 3648
Binary and Hexadecimal
• The same method employed in binary-octal
conversion is used once again.
• Assume that:
R1 = 16 (hexadecimal)
R2 = 2 (binary)
• From the theorem: 16 = 24
Hence, 4 digits in a binary number is
equivalent to 1 digit in the hexadecimal
number system (and otherwise)
• The following is the binary-hexadecimal
conversion table
Binary Hexadecimal Example:
0000 0
0001 1 [Link] the following binary
0010 2 numbers into hexadecimal
0011 3 numbers:
0100 4
0101 5 (a) 001011112
0110 6
0111 7 Refer to the binary-
1000 8 hexadecimal conversion table
1001 9 above
1010 A
1011 B 0010 11112 = 2F16
1100 C
1101 D 2 F
1110 E
1111 F
Example: Octal  Hexadecimal
Convert the following octal numbers
into hexadecimal numbers (16 bits)
(a) 658 (b) 1238
Refer to the binary-octal conversion table Refer to the binary-octal conversion table

68 58 18 28 38
110 101 001 010 011
0000 0000 0011 01012 0000 0000 0101 00112
0 0 3 5 0 0 5 3
= 3516 = 5316
octal  binary  hexadecimal
Example: Hexadecimal  Binary

Convert the following hexadecimal


numbers into binary numbers
(a) 12B16 (b) ABCD16

Refer to the binary-hexadecimal Refer to the binary-hexadecimal


conversion table conversion table

1 2 B16 A B C D16

0001 0010 10112 (12 bits) 1010 1011 1101 11102

= 0001001010112 = 10101011110111102
Exercise 1
• Binary  decimal
• 001100
• 11100.011
• Decimal  binary
• 145
• 34.75
• Octal  hexadecimal
• 56558
Solution 1

• Binary  decimal
• 001100 = 12 0x2 5
+ 0 x 24 + 1 x 23 + 1 x 22 + 0 x 21 + 0 x 20 = 8 +4 = 12
• 11100.011 = 28.375
• Decimal  binary
• 145 = 10010001 145/2 = 72 (reminder 1); 72/2=36(r=0); 36/2=18(r=0);
• 34.75 = 100010.11 18/2=9(r=0); 9/2=4(r=1); 4/2=2(r=0); 2/2=1(r=0); ½=0(r=1)
• Octal  hexadecimal
octal  binary  decimal  hexadecimal
• 56558 = BAD Octal  binary
[Link]
Binary  hexadecimal
[Link]
B A D
Solution 1

• Binary  decimal 0x2-1+1x2-2+1x2-3


• 001100 = 12
• 11100.011 = 28.375
• Decimal  binary
• 145 = 10010001 0.75 x 2 = 1.5
• 34.75 = 100010.11 0.5 x 2 = 1.0

• Octal  hexadecimal
octal  binary  hexadecimal
• 56558 = BAD
Exercise 2
• Binary  decimal
• 110011.10011 51.59375
• Decimal  binary
• 25.25
11001.01
• Octal  hexadecimal
• 128 B
Representation of integer, character and
floating point numbers in binary
Introduction
Machine instructions operate on data. The most
important general categories of data are:
1. Addresses – unsigned integer
2. Numbers – integer or fixed point, floating point
numbers and decimal (eg, BCD (Binary Coded Decimal))
3. Characters – IRA (International Reference
Alphabet), EBCDIC (Extended Binary Coded Decimal
Interchange Code), ASCII (American Standard Code for
Information Interchange)
4. Logical Data

- Those commonly used by computer users/programmers: signed


integer, floating point numbers and characters
Integer Representation
• -1101.01012 = -13.312510
• Computer storage & processing  do not have
benefit of minus signs (-) and periods.
 Need to represent the integer 
Signed Integer Representation
• Signed integers are usually used
by programmers
• Unsigned integers are used for
addressing purposes in the
computer (especially for
assembly language programmers)
• Three representations of signed
integers:
1. Sign-and-Magnitude
2. Ones Complement
3. Twos Complement
Sign-and-Magnitude

• The easiest representation


• The leftmost bit in the binary number represents the sign of
the number. 0 if positive and 1 if negative
• The balance bits represent the magnitude of the number.
Examples:

i) 8 bits binary number


__ __ __ __ __ __ __ __

Sign bit 7 bits for magnitude (value)


0 => +ve 1 => –ve

a) +7 = 0 0 0 0 0 1 1 1
(–7 = 100001112)
b) –10 = 1 0 0 0 1 0 1 0
(+10 = 000010102)
ii) 6 bits binary number
__ __ __ __ __ __

5 bits for magnitude (value)


Sign bit
0 => +ve 1 => –ve
a) +7 = 0 0 0 1 1 1
(–7 = 1 0 0 1 1 12)
b) –10 = 1 0 1 0 1 0
(+10 = 0 0 1 0 1 02)
Ones Complement

• In the ones complement representation,


positive numbers are same as that of
sign-and-magnitude
Example: +5 = 00000101 (8 bit)
 as in sign-and-magnitude representation

• Sign-and-magnitude and ones complement


use the same representation above for +5
with 8 bits and all positive numbers.
• For negative numbers, their
representation are obtained by changing
bit 0 → 1 and 1 → 0 from their positive
numbers
Example:

Convert –5 into ones complement


representation (8 bit)
Solution:
• First, obtain +5 representation
in 8 bits  00000101
• Change every bit in the number
from 0 to 1 and vice-versa.
• –510 in ones complement is
111110102
Exercise:

Get the representation of ones complement


(6 bit) for the following numbers:

i) +710 ii) –1010

Solution: Solution:

(+7) = 0001112
(+10)10 = 0010102

So,
(-10)10 = 1101012
Twos complement

• Similar to ones complement, its


positive number is same as sign-
and-magnitude
• Representation of its negative
number is obtained by adding 1 to
the ones complement of the number.
Example:

Convert –5 into twos complement


representation and give the answer in
8 bits.

Solution:
First, obtain +5 representation in 8
bits  000001012
Obtain ones complement for –5
 111110102
Add 1 to the ones complement number:
 111110102 + 12 = 111110112
–5 in twos complement is 11111011
2
Exercise:

• Obtain representation of twos complement (6


bit) for the following numbers
i) +710 ii)–1010

Solution: Solution:

(+7) = 0001112 (+10) = 0010102


(same as sign-magnitude) 10

(-10) 10
= 1101012 + 12
= 1101102
So, twos compliment
Exercise:
Obtain representation for the following
numbers

Decimal Sign-magnitude Twos complement


+7
+6
4 bits
-4
-6
-7
+18
8 bits
-18
-13
Solution:
Obtain representation for the following
numbers

Decimal Sign-magnitude Twos complement


+7 0111 0111
+6 0110 0110
-4 1100 1100
-6 1110 1010
-7 1111 1001
+18 00010010 00010010
-18 10010010 11101110
-13 11110010 11110011
Character Representation

• For character data type, its representation uses codes such as


the ASCII, IRA or EBCDIC.

Note: Students are encouraged to obtain the codes


Floating point representation
• In binary, floating point
numbers are represented in the
form of : +S x B+E and the number
can be stored in computer words
with 3 fields:
i) Sign (+ve, –ve)
ii) Significant S
iii) Exponent E
and B is base is implicit and
need not be stored because it is
the same for all numbers (base-
2).
Binary Arithmetics
1. Addition ( + ) 010111
0 + 0 = 0 011110 +
0 + 1 = 1 110101
1 + 0 = 1
1 + 1 = 10
1 + 1 + 1 = (1 + 1) + 1 = 10 + 1 = 112

Example:
i. 0101112 + 0111102 = 1101012
ii. 1000112 + 0111002 = 1111112
2. Multiplication ( x )
0 x 0 = 0
0 x 1 = 0
1 x 0 = 0
1 x 1 = 1

3. Subtraction ( – )
0 – 0 = 0
0 – 1 = 1 (borrow 1)
1 – 0 = 1
1 – 1 = 0
4. Division ( / )
0 / 1 = 0
1 / 1 = 1
Example:
i. 0101112 - 0011102 = 0010012

ii. 1000112 - 0111002 = 0001112

Exercise:
i. 1000100 – 010010 v. 110111 + 001101
ii. 1010100 + 1100 vi. 111000 + 1100110
iii. 110100 – 1001 vii. 110100 x 10
iv. 11001 x 11 viii. 11001 - 1110
Arithmetic Operations for Ones Complement, Twos
Complement, sign-and-magnitude and floating point number

Addition and subtraction for


signed integers
Reminder: All subtraction
operations will be changed into
addition operations
Example: 8 – 5 = 8 + (–5)
–10 + 2 = (–10) + 2
6 – (–3) = 6 + 3
Sign-and-Magnitude

Z = X + Y
There are a few possibilities:
i. If both numbers, X and Y are
positive
o Just perform the addition operation

Example:
510 + 310 = 0001012 + 0000112
= 0010002
= 810
ii. If both numbers are negative
o Add |X| and |Y| and set the sign bit = 1
to the result, Z
Example: –310 – 410 = (–3) + (–4)
= 1000112 + 1001002
Only add the magnitude, i.e.:
000112 + 001002 = 001112
Set the sign bit of the result
(Z) to 1 (–ve)
= 1001112
= –710
iii. If signs of both number differ
o There will be 2 cases:

a) | +ve Number | > | –ve Number |


Example: (–2) + (+4), (+5) + (–3)
• Set the sign bit of the –ve
number to 0 (+ve), so that both
numbers become +ve.
• Subtract the number of smaller
magnitude from the number with a
bigger magnitude
Sample solution:
Change the sign bit of the –ve number to
+ve
(–2) + (+4) = 1000102 + 0001002
= 0001002 – 0000102
= 0000102 = 210

b) | –ve Number | > | +ve Number |


• Subtract the +ve number from the –ve number
Example: (+310) + (–510)
= 0000112 + 1001012
= 1001012 – 0000112
= 1000102
= –2
Ones complement
• In ones complement, it is easier than sign-
and-magnitude
• Change the numbers to its representation and
perform the addition operation
• However a situation called Overflow might
occur when addition is performed on the
following categories:

1. If both are negative numbers


2. If both are in difference sign and
|+ve Number| > | –ve Number|
Overflow => the addition result
exceeds the number of bits that was
fixed

1. Both are –ve numbers


Example: –310 – 410 = (–310) + (–410)
Solution:
•Convert –310 and –410 into ones complement
representation
+310 = 000000112 (8 bits)
–310 = 111111002
+410 = 000001002 (8 bits)
–410 = 111110112
•Perform the addition operation
(–310) => 11111100 (8 bit)
+(–410) => 11111011 (8 bit)
–710 111110111 (9 bit)
Overflow occurs. This value is called EAC and needs to be
added to the rightmost bit.

11110111
+ 1
111110002 = –710
the answer
2. | +ve Number| > |–ve Number|
• This case will also cause an
overflow
Example: (–2) + 4 = (–2) + (+4)
Solution:
• Change both of the numbers above
into one’s complement
representation
–2 = 111111012 +4 = 000001002
• Add both of the numbers
(–210) => 11111101 (8 bit)
+ (+410) => 00000100 (8 bit)
+210 100000001 (9 bit)
There is an EAC
•Add the EAC to the rightmost bit
00000001
+ 1

000000102 = +210

the answer

Note:
For cases other than 1 & 2 above, overflow does not occur
and there will be no EAC and the need to perform addition to
the rightmost bit does not arise
Twos Complement
Addition operation in twos complement is same
with that of ones complement, i.e. overflow
occurs if:

1. If both are negative numbers


2. If both are in difference and |+ve Number|
> |–ve Number|
Both numbers are –ve
Example: –310 – 410 = (–310) + (–410)
Solution:
• Convert both numbers into twos
complement representation
+310 = 0000112 (6 bit)
–310 = 1111002 (one’s complement)
–310 = 1111012 (two’s complement)

–410 = 1110112 (one’s complement)


–410 = 1111002 (two’s complement)
• Perform addition operation on both
the numbers in twos complement
representation and ignore the EAC.

111100 (–310)
111011 (–410)
1111001
Ignore the The answer
EAC

= 1110012 (two’s complement)


= –710
Note:
In two’s complement, EAC is
ignored (do not need to be added
to the leftmost bit, like that of
one’s complement)
The answer is 0000102­ = +210

Note: For cases other than 1 and 2


above, overflow does not occur.
Exercise:
Perform the following arithmetic
operations in ones complement and also
twos complement

1. (+2) + (+3) [6 bit]


2. (–2) + (–3) [6 bit]
3. (–2) + (+3) [6 bit]
4. (+2) + (–3) [6 bit]

Compare your answers with the stated


theory
2. | +ve Number| > |–ve Number|

Example: (–2) + 4 = (–2) + (+4)


Solution:
• Change both of the numbers above into
twos complement representation
–2 = 1111102 +4 = 0001002
• Perform addition operation on both
numbers
(–210) => 111110 (6 bit)
+ (+410) => 000100 (6 bit)
+210 1000010
Ignore the EAC

You might also like