Chapter 1 Number Systems Conversions Location in course
Chapter 1 Number Systems & Conversions Location in course textbook Chapter. 1 CNET 315 Microprocessor & Assembly Language 1
Common Number Systems Number System Base Symbols Used by humans? Used in computers? Decimal 10 0, 1, … 9 Yes No Binary 2 0, 1 No Yes Octal 8 0, 1, … 7 No No Hexadecimal 16 0, 1, … 9, A, B, … F No No CNET 315 Microprocessor & Assembly Language 2
Quantities/Counting (1 of 3) Decimal 0 Hexa. Binary Octal decimal 0 0 0 1 2 1 10 1 2 3 4 5 6 7 11 100 101 110 111 3 4 5 6 7 CNET 315 Microprocessor & Assembly Language p. 33 3
Quantities/Counting (2 of 3) Decimal 8 Hexa. Binary Octal decimal 1000 10 8 9 10 1001 1010 11 12 9 A 11 12 13 14 15 1011 1100 1101 1110 1111 13 14 15 16 17 B C D E F CNET 315 Microprocessor & Assembly Language 4
Quantities/Counting (3 of 3) Decimal 16 Hexa. Binary Octal decimal 10000 20 10 17 18 10001 10010 21 22 11 12 19 20 21 22 23 10011 10100 10101 10110 10111 23 24 25 26 27 13 14 15 16 17 CNET 315 Microprocessor & Assembly Language Etc. 5
Conversion Among Bases • The possibilities: Decimal Octal Binary Hexadecimal CNET 315 Microprocessor & Assembly Language 6
Quick Example 2510 = 110012 = 318 = 1916 Base CNET 315 Microprocessor & Assembly Language 7
Weight 12510 => 5 x 100 2 x 101 1 x 102 = 5 = 20 = 100 125 Base CNET 315 Microprocessor & Assembly Language 8
Binary to Decimal Octal Binary Hexadecimal CNET 315 Microprocessor & Assembly Language 9
Binary to Decimal • Technique – Multiply each bit by 2 n, 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 CNET 315 Microprocessor & Assembly Language 10
Example Bit “ 0” 1010112 => 1 1 0 1 x x x 20 21 22 23 24 25 = = = 1 2 0 8 0 32 4310 CNET 315 Microprocessor & Assembly Language 11
Octal to Decimal Octal Binary Hexadecimal CNET 315 Microprocessor & Assembly Language 12
Octal to Decimal • Technique – Multiply each bit by 8 n, 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 CNET 315 Microprocessor & Assembly Language 13
Example 7248 => 4 x 80 = 2 x 81 = 7 x 82 = 4 16 448 46810 CNET 315 Microprocessor & Assembly Language 14
Hexadecimal to Decimal Octal Binary Hexadecimal CNET 315 Microprocessor & Assembly Language 15
Hexadecimal to Decimal • Technique – Multiply each bit by 16 n, 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 CNET 315 Microprocessor & Assembly Language 16
Example ABC 16 => C x 160 = 12 x 1 = 12 B x 161 = 11 x 16 = 176 A x 162 = 10 x 256 = 2560 274810 CNET 315 Microprocessor & Assembly Language 17
Decimal to Binary Decimal Octal Binary Hexadecimal CNET 315 Microprocessor & Assembly Language 18
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. CNET 315 Microprocessor & Assembly Language 19
Example 12510 = ? 2 2 125 2 62 2 31 2 15 7 2 3 2 1 2 0 1 1 1 12510 = 11111012 CNET 315 Microprocessor & Assembly Language 20
Octal to Binary Decimal Octal Binary Hexadecimal CNET 315 Microprocessor & Assembly Language 21
Octal to Binary • Technique – Convert each octal digit to a 3 -bit equivalent binary representation CNET 315 Microprocessor & Assembly Language 22
Example 7058 = ? 2 7 0 5 111 000 101 7058 = 1110001012 CNET 315 Microprocessor & Assembly Language 23
Hexadecimal to Binary Decimal Octal Binary Hexadecimal CNET 315 Microprocessor & Assembly Language 24
Hexadecimal to Binary • Technique – Convert each hexadecimal digit to a 4 -bit equivalent binary representation CNET 315 Microprocessor & Assembly Language 25
Example 10 AF 16 = ? 2 1 0 A F 0001 0000 1010 1111 10 AF 16 = 000101011112 CNET 315 Microprocessor & Assembly Language 26
Decimal to Octal Decimal Octal Binary Hexadecimal CNET 315 Microprocessor & Assembly Language 27
Decimal to Octal • Technique – Divide by 8 – Keep track of the remainder CNET 315 Microprocessor & Assembly Language 28
Example 123410 = ? 8 8 8 1234 154 19 2 0 2 2 3 2 123410 = 23228 CNET 315 Microprocessor & Assembly Language 29
Decimal to Hexadecimal Decimal Octal Binary Hexadecimal CNET 315 Microprocessor & Assembly Language 30
Decimal to Hexadecimal • Technique – Divide by 16 – Keep track of the remainder CNET 315 Microprocessor & Assembly Language 31
Example 123410 = ? 16 16 1234 77 4 0 2 13 = D 4 123410 = 4 D 216 CNET 315 Microprocessor & Assembly Language 32
Binary to Octal Decimal Octal Binary Hexadecimal CNET 315 Microprocessor & Assembly Language 33
Binary to Octal • Technique – Group bits in threes, starting on right – Convert to octal digits CNET 315 Microprocessor & Assembly Language 34
Example 10110101112 = ? 8 1 010 111 1 3 2 7 10110101112 = 13278 CNET 315 Microprocessor & Assembly Language 35
Binary to Hexadecimal Decimal Octal Binary Hexadecimal CNET 315 Microprocessor & Assembly Language 36
Binary to Hexadecimal • Technique – Group bits in fours, starting on right – Convert to hexadecimal digits CNET 315 Microprocessor & Assembly Language 37
Example 1010112 = ? 16 10 1011 2 B B 1010112 = 2 BB 16 CNET 315 Microprocessor & Assembly Language 38
Octal to Hexadecimal Decimal Octal Binary Hexadecimal CNET 315 Microprocessor & Assembly Language 39
Octal to Hexadecimal • Technique – Use binary as an intermediary CNET 315 Microprocessor & Assembly Language 40
Example 10768 = ? 16 1 0 7 6 001 000 111 110 2 3 E 10768 = 23 E 16 CNET 315 Microprocessor & Assembly Language 41
Hexadecimal to Octal Decimal Octal Binary Hexadecimal CNET 315 Microprocessor & Assembly Language 42
Hexadecimal to Octal • Technique – Use binary as an intermediary CNET 315 Microprocessor & Assembly Language 43
Example 1 F 0 C 16 = ? 8 1 0001 1 F 0 1111 7 C 0000 4 1100 1 4 1 F 0 C 16 = 174148 CNET 315 Microprocessor & Assembly Language 44
Exercise – Convert. . . Decimal 33 Binary Octal Hexadecimal 1110101 703 1 AF Don’t use a calculator! CNET 315 Microprocessor & Assembly Language 45
Exercise – Convert … Answer Decimal 33 117 Binary 100001 1110101 Octal 41 165 451 431 111000011 110101111 703 657 CNET 315 Microprocessor & Assembly Language Hexadecimal 21 75 1 C 3 1 AF 46
Binary Addition (1 of 2) • Two 1 -bit values A 0 0 1 1 B 0 1 A+B 0 1 1 10 CNET 315 Microprocessor & Assembly Language “two” 47
Binary Addition (2 of 2) • Two n-bit values – Add individual bits – Propagate carries – E. g. , 1 1 10101 + 11001 101110 21 + 25 46 CNET 315 Microprocessor & Assembly Language 48
Binary Subtraction • Have previously looked at the subtraction operation. A quick review. • Just like subtraction in any other base – Minuend – Subtrahand – Difference 10110 - 100100 • And when a borrow is needed. Note that the borrow gives us 2 in the current bit position. • . 49
Thank you CNET 315 Microprocessor & Assembly Language 50
- Slides: 50