BiD 01 Number Systems
BiD 01 Number Systems
Computer Organization
Prof. Dr. Nizamettin AYDIN
[email protected]
http://www3.yildiz.edu.tr/~naydin
Number Systems
1
Why Binary?
• Early computer design was decimal
– Mark I and ENIAC
• John von Neumann proposed binary data
processing (1945)
– Simplified computer design
– Used for both instructions and data
• Natural relationship between On Off
True False
on/off switches and Yes No
calculation using Boolean logic 1 0
2
Counting and Arithmetic
• Decimal or base 10 number system
– Origin: counting on the fingers
– Digit from the Latin word digitus meaning finger
• Base: the number of different digits including zero in
the number system
– Example: Base 10 has 10 digits, 0 through 9
• Binary or base 2
• Bit (binary digit): 2 digits, 0 and 1
• Octal or base 8: 8 digits, 0 through 7
• Hexadecimal or base 16:
16 digits, 0 through F
– Examples: 1010 = A16; 1110 = B16
3
Keeping Track of the Bits
• Bits commonly stored and manipulated in groups
– 8 bits = 1 byte
– 4 bytes = 1 word (in many systems)
4
Numbers: Physical Representation
• Different numerals, same
number of oranges
– Cave dweller: IIIII
– Roman: V
– Arabic: 5
• Different bases, same
number of oranges
– 510
– 1012
– 123
5
Number System
• Roman: position independent
• Modern: based on positional notation (place
value)
– Decimal system: system of positional notation based
on powers of 10.
– Binary system: system of positional notation based
powers of 2
– Octal system: system of positional notation based on
powers of 8
– Hexadecimal system: system of positional notation
based powers of 16
6
Positional Notation: Base 10
• 43 = 4 x 101 + 3 x 100
7
Positional Notation: Base 10
• 527 = 5 x 102 + 2 x 101 + 7 x 100
Value 100 10 1
Evaluate 5 x 100 2 x 10 7 x1
Sum 500 20 7
8
Positional Notation: Octal
• 6248 = 40410
Place 82 81 80
Value 64 8 1
9
Positional Notation: Hexadecimal
• 670416 = 2637210
Sum for
24,576 1,792 0 4
Base 10
10
Positional Notation: Binary
• 1101 01102 = 21410
Place 27 26 25 24 23 22 21 20
Value 128 64 32 16 8 4 2 1
Sum for
128 64 0 16 0 4 2 0
Base 10
11
Estimating Magnitude: Binary
• 1101 01102 = 21410
– 1101 01102 > 19210 (128 + 64 + additional bits to the right)
Place 27 26 25 24 23 22 21 20
Value 128 64 32 16 8 4 2 1
Sum for
128 64 0 16 0 4 2 0
Base 10
12
Range of Possible Numbers
• R = BK where
– R = range
– B = base
– K = number of digits
• Example #1: Base 10, 2 digits
– R = 102 = 100 different numbers (0…99)
• Example #2: Base 2, 16 digits
– R = 216 = 65536 or 64K
– 16-bit PC can store 65536 different number values
13
Decimal Range for Bit Widths
Bits Digits Range
2 (0 and 1)
1 0+
16 (0 to 15)
4 1+
256
8 2+
1,024 (1K)
10 3
65,536 (64K)
16 4+
1,048,576 (1M)
20 6 14
Base or Radix
• Base:
– The number of different symbols required to
represent any given number
• The larger the base, the more numerals are
required
– Base 10: 0,1, 2,3,4,5,6,7,8,9
– Base 2: 0,1
– Base 8: 0,1,2, 3,4,5,6,7
– Base 16: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
15
Number of Symbols vs. Number of Digits
• For a given number, the larger the base
– the more symbols required
– but the fewer digits needed
• Example #1:
– 6516 10110 1458 110 01012
• Example #2:
– 11C16 284104348 1 0001 11002
16
Counting in Base 2
Binary Equivalent Decimal
Number 8’s (23) 4’s (22) 2’s (21) 1’s (20) Number
0 0 x 20 0
1 1 x 20 1
1 x 21 0 x 20 2
10
11 1 x 21 1 x 20 3
1 x 22 4
100
1 x 22 1 x 20 5
101
1 x 22 1 x 21 6
110
1 x 22 1 x 21 1 x 20 7
111 17
Base 10 Addition Table
• 310 + 610 = 910
+ 0 1 2 3 4 5 6 7 8 9
0 0 1 2 3 4 5 6 7 8 9
1 1 2 3 4 5 6 7 8 9 10
2 2 3 4 5 6 7 8 9 10 11
3 3 4 5 6 7 8 9 10 11 12
4 4 5 6 7 8 9 10 11 12 13
etc
18
Base 8 Addition Table
• 38 + 68 = 118
+ 0 1 2 3 4 5 6 7
0 0 1 2 3 4 5 6 7
1 1 2 3 4 5 6 7 10
2 2 3 4 5 6 7 10 11
3 3 4 5 6 7 10 11 12
4 4 5 6 7 10 11 12 13
5 5 6 7 10 11 12 13 14
6 6 7 10 11 12 13 14 15
7 7 10 11 12 13 14 15 16
19
Base 10 Multiplication Table
• 310 × 610 = 1810
x 0 1 2 3 4 5 6 7 8 9
0 0
1 1 2 3 4 5 6 7 8 9
2 2 4 6 8 10 12 14 16 18
3 3 6 9 12 15 18 21 24 27
4 0 4 8 12 16 20 24 28 32 36
5 5 10 15 20 25 30 35 40 45
6 6 12 18 24 30 36 42 48 54
7 7 14 21 28 35 42 49 56 63
etc.
20
Base 8 Multiplication Table
• 38 × 68 = 228
x 0 1 2 3 4 5 6 7
0 0
1 1 2 3 4 5 6 7
2 2 4 6 10 12 14 16
3 0 3 6 11 14 17 22 25
4 4 10 14 20 24 30 34
5 5 12 17 24 31 36 43
6 6 14 22 30 36 44 52
7 7 16 25 34 43 52 61
21
Addition
22
Addition
+4
+2
+A 23
Binary Arithmetic
1 1 1 1 1
1 1 0 1 1 0 1
+ 1 0 1 1 0
1 0 0 0 0 0 1 1
• Addition + 0 1
– Boolean using XOR and AND 0 0 1
• Multiplication 1 1 10
– AND x 0 1
– Shift 0 0 0
• Division 1 0 1
24
Binary Arithmetic: Boolean Logic
• Boolean logic without performing arithmetic
– EXCLUSIVE-OR
• Output is “1” only if either input, but not both inputs, is a
“1”
– AND (carry bit)
• Output is “1” if and only both inputs are a “1”
1 1 1 1 1
1 1 0 1 1 0 1
+ 1 0 1 1 0
1 0 0 0 0 0 1 1
25
Binary Multiplication
• Boolean logic without performing arithmetic
– AND (carry bit)
• Output is 1 if and only both inputs are a 1
– Shift
• Shifting a number in any base left one digit multiplies its value
by the base
– Shifting a number in any base right one digit divides its
value by the base
– Examples:
• 1010 shift left = 10010
• 1010 shift right = 110
• 102 shift left = 1002
• 102 shift right = 12
26
Binary Multiplication
1 1 0 1
1 0 1
1 1 0 1 1’s place
0 0 0 0 2’s place
1 0 0 0 0 0 1 Result (AND)
27
Binary Multiplication
1 1 0 1 1 0 1
x 1 0 0 1 1 0
2’s place (bits shifted to line
1 1 0 1 1 0 1 up with 2’s place of multiplier)
1 1 0 1 1 0 1 4’s place
1 1 0 1 1 0 1 32’s place
Result (AND)
1 0 0 0 0 0 0 1 0 1 1 1 0 Note the 0 at the end, since
the 1’s place is not brought
down.
28
Converting from Base 10
• Powers Table
Power
8 7 6 5 4 3 2 1 0
Base
2 256 128 64 32 16 8 4 2 1
29
From Base 10 to Base 2
• 4210 = 1010102
Power
Base 6 5 4 3 2 1 0
2 64 32 16 8 4 2 1
1 0 1 0 1 0
30
From Base 10 to Base 2
Base 10 42 Remainde
r
2 ) 42 ( 0 Least significant bit
Quotient
2 ) 21 ( 1
2 ) 10 ( 0
2) 5 (1
2) 2 (0
2) 1 Most significant bit
Base 2 101010
31
From Base 10 to Base 16
• 573510 = 166716
Power
Base 4 3 2 1 0
1 6 6 7
Integer 5,735 /4,096 1,639 / 256 103 /16 7
=1 =6 =6
Remainder 5,735 - 4,096 1,639 –1,536 103 – 96
= 1,639 = 103 =7
32
From Base 10 to Base 16
33
From Base 10 to Base 16
34
From Base 8 to Base 10
• 72638 = 376310
72638 = 3,76310
Power 83 82 81 80
1
512 64 8
x x x x
7 2 6 3
Sum for
Base 10 3
3,584 128 48
35
From Base 8 to Base 10
• 72638 = 376310
7
x8
56 + 2 = 58
x8
464 + 6 = 470
x8
3760 + 3 = 3,763
36
From Base 16 to Base 2
• The nibble approach
– Hex easier to read and write than binary
Base 16 1 F 6 7
• Why hexadecimal?
– Modern computer operating systems and networks
present variety of troubleshooting data in hex format
37
Fractions
• Number point or radix point
– Decimal point in base 10
– Binary point in base 2
38
Decimal Fractions
• Move the number point one place to the right
– Effect: multiplies the number by the base number
– Example: 139.010 139010
39
Fractions: Base 10 and Base 2
• 0.258910
Place 10-1 10-2 10-3 10-4
Value 1/10 1/100 1/1000 1/10000
Evaluate 2 x 1/10 5 x 1/100 8 x 1/1000 9 x1/1000
Sum 0.2 0.05 0.008 0.0009
• 0.1010112 = 0.67187510
Place 2-1 2-2 2-3 2-4 2-5 2-6
Value 1/2 1/4 1/8 1/16 1/32 1/64
Evaluate 1 x 1/2 0 x 1/4 1x 1/8 0 x 1/16 1 x 1/32 1 x 1/64
Sum 0.5 0.125 0.03125 0.015625
40
Fractions: Base 10 and Base 2
• No general relationship between fractions of
types 1/10k and 1/2k
– Therefore, a number representable in base 10 may not
be representable in base 2
– But: the converse is true: all fractions of the form
1/2k can be represented in base 10
• Fractional conversions from one base to another
are stopped
– If there is a rational solution or
– When the desired accuracy is attained
41
Mixed Number Conversion
• Integer and fraction parts must be converted
separately
42