0% found this document useful (0 votes)
37 views21 pages

02 NumberSystems

This document discusses number systems and binary arithmetic. It introduces binary, octal, decimal, and hexadecimal number systems. It covers base conversion between these systems and binary arithmetic. It also discusses sign representation in binary, including sign-and-magnitude, ones'-complement, and twos'-complement systems. Twos'-complement is identified as the preferred system for representing negative numbers in binary. The document also touches on overflow and binary-coded decimal.

Uploaded by

danish123hafeez
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)
37 views21 pages

02 NumberSystems

This document discusses number systems and binary arithmetic. It introduces binary, octal, decimal, and hexadecimal number systems. It covers base conversion between these systems and binary arithmetic. It also discusses sign representation in binary, including sign-and-magnitude, ones'-complement, and twos'-complement systems. Twos'-complement is identified as the preferred system for representing negative numbers in binary. The document also touches on overflow and binary-coded decimal.

Uploaded by

danish123hafeez
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/ 21

1

Lecture 2: Number Systems


Binary numbers
Base conversion
Arithmetic
Number systems
Sign and magnitude
Ones-complement
Twos-complement
Binary-coded decimal (BCD)
2
Positional number notation
Bases we will use
Binary: base 2
Octal: base 8
Decimal: base 10
Hexadecimal: base 16

Positional number system
101
2
= 12
2
+ 02
1
+ 12
0
= 5
10

63.4
8
= 68
1
+ 38
0
+ 48
1
= 51.5
10

A1
16
= 1016
1
+ 116
0
= 161
10
3
Base conversion from binary
Conversion to octal / hex
Binary: 10011110001
Octal: 10 | 011 | 110 | 001 = 2361
8
Hex: 100 | 1111 | 0001 = 4F1
16


Conversion to decimal
101
2
= 12
2
+ 02
1
+ 12
0
= 5
10
4
Base conversion from decimal
Why does this work?
5
Base conversion from decimal
N = 56
10
= 111000
2

Quotient = N / 2 = 56 / 2 = 111000 / 2
= 11100 remainder 0

Each successive division "liberates" a
least significant bit
6
Arithmetic
Decimal


Binary
1 1
1011
+ 1010
10101
1011
0110
0101
11
1234
+ 5678
6912
5274
1638
3636
7
Negative numbers
How do we write negative binary numbers?
Prefix numbers with minus symbol?

3 approaches:
Sign and magnitude
Ones-complement
Twos-complement

All 3 approaches represent positive
numbers in the same way
8
Sign and magnitude
Most significant bit
(MSB) is the sign
bit
0 positive
1 negative

Remaining bits are
the number's
magnitude
0000
0001
0011
1111
1110
1100
1011
1010
1000 0111
0110
0100
0010
0101
1001
1101
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7 0
1
2
3
4
5
6
7
9
Sign and magnitude
Problem 1: Two representations of for
zero
+0 = 0000 and also 0 = 1000
Problem 2: Arithmetic is cumbersome
4 3 != 4 + (-3)
10
Ones-complement
Negative number:
Bitwise complement
of positive number
0111 7
10
1000 7
10
0000
0001
0011
1111
1110
1100
1011
1010
1000 0111
0110
0100
0010
0101
1001
1101
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7 7
6
5
4
3
2
1
0
11
Ones-complement
Solves the arithmetic problem




end-around carry
12
Why ones-complement works
The ones-complement of an 4-bit
positive number y is 1111
2
y
0111 7
10

1111
2
0111
2
= 1000
2
7
10


What is 1111
2
?
1 less than 10000
2
= 2
4
1
y is represented by (2
4
1) y
13
Why ones-complement works
Adding representations of x and y where x,
y are positive numbers, we get x + ((2
4
1)
y) = (2
4
1) + (x y)
If x < y, then x y < 0. There will be no carry
from (2
4
1) + (x y). Just add representations
to get correct negative number.
If x > y, then x y > 0. There will be a carry.
Performing end-around carry subtracts 2
4
and
adds 1, subtracting (2
4
1) from (2
4
1) + (x
y)
If x = y, then answer should be 0, get (2
4
1) =
1111
2
14
So what's wrong?
Still have two representations for zero!
+0 = 0000 and also 0 = 1111
15
Twos-complement
Negative number:
Bitwise complement
plus one
0111 7
10
1001 7
10

Benefits:
Simplifies arithmetic
Only one zero!
0000
0001
0011
1111
1110
1100
1011
1010
1000 0111
0110
0100
0010
0101
1001
1101
0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7 8
7
6
5
4
3
2
1
16
Twos-complement

17
Why twos-complement works
Recall: The ones-complement of a b-
bit positive number y is (2
b
1) y
Twos-complement adds one to the
bitwise complement, thus, y is 2
b
y
y and 2
b
y are equal mod 2
b
(have the
same remainder when divided by 2
b
)
Ignoring carries is equivalent to doing
arithmetic mod 2
b

18
Why twos-complement works
Adding representations of x and y
where x, y are positive numbers, we
get x + (2
b
y) = 2
b
+ (x y)
If there is a carry, that means that x y
and dropping the carry yields x y
If there is no carry, then x < y, then we
can think of it as 2
b
(y x), which is the
twos-complement representation of the
negative number resulting from x y.
19
Overflow
Answers only correct mod 2
b

Summing two positive numbers can give a negative result
Summing two negative numbers can give a positive result
0000
0001
0011
1111
1110
1100
1011
1010
1000 0111
0110
0100
0010
0101
1001
1101
0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7 8
7
6
5
4
3
2
1
0000
0001
0011
1111
1110
1100
1011
1010
1000 0111
0110
0100
0010
0101
1001
1101
0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7 8
7
6
5
4
3
2
1
6 + 4 6 7 3 +6
20
Miscellaneous
Sign-extension
Write +6 and 6 as twos-complement
0110 and 1010
Sign-extend to 8-bit bytes
00000110 and 11111010

Can't infer a representation from a number
11001 is 25 (unsigned)
11001 is -9 (sign and magnitude)
11001 is -6 (ones complement)
11001 is -7 (twos complement)
21
BCD (Binary-Coded Decimal)
Decimal
Symbols
0
1
2
3
4
5
6
7
8
9
BCD
Code
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001

You might also like