Number System ITE 102 Computer Programming C Topics
Number System ITE 102 – Computer Programming (C++)
Topics • 1 -1 Introduction to Binary • 1 -2 Understanding Number System • 1 -3 Conversion of Number Systems 2
Learning Objects • After completing this module that student will be able to : – Distinguish the different number systems – Convert from one number system to another Number Systems 3
Introduction to data conversion • The study of binary system will help us gain better understanding of how computers perform computation. Number Systems 4
Understanding Number System • The radix, or base, of a number system is the total number of unique symbols available in that system. • The largest valued symbol always has a magnitude of one less than the radix. Number Systems 5
Decimal Numbers • Decimal notation is the writing of numbers in the base-ten numeral system, which uses various symbols (called digits) for ten distinct values (0, 1, 2, 3, 4, 5, 6, 7, 8 and 9) to represent numbers. • These digits are often used with a decimal separator which indicates the start of a fractional part, and with one of the sign symbols + (plus) or − (minus) to indicate sign. Number Systems 6
Decimal Numbers (cont. ) • The decimal system is a positional numeral system; it has positions for units, tens, hundreds, etc. • The position of each digit conveys the multiplier (a power of ten) to be used with that digit—each position has a value ten times that of the position to its right. Number Systems 7
Binary Numbers (studied by Gottfried Leibniz in 1679) • The binary system works in exactly the same way, except that its place value is based on the number two. • In the binary system, we have the one's place, the two's place, the four's place, the eight's place, the sixteen's place, and so on. • Each place in the number represents two times (2 X's) the place to its right. • Binary number system has a base, or radix, of 2. Binary numbers are composed of two symbols: 0 and 1. Number Systems 8
Binary Numbers (cont. ) Decimal Binary 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 1010 8 + 2 = 10 8 4 2 1 1010 Considering the digits that has a value of 1 and adding it number marker on the top of each digits Number Systems 9
Octal Numbers • The octal number system has a base, or radix, of 8. Octal numbers are composed of eight symbols: 0, 1, 2, 3, 4, 5, 6, and 7. Number Systems 10
Hexadecimal Numbers • The hexadecimal number system has a base, or radix, of 16. Hexadecimal numbers are composed of sixteen symbols: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, and F. • Symbols A to F correspond to decimal numbers 10 to 15. Number Systems 11
Conversion of the Number System • • Binary to Decimal , Octal, Hexadecimal Decimal to Binary, Octal, Hexadecimal Octal to Decimal, Binary, Hexadecimal to Binary, Octal, Decimal Number Systems 12
Binary to Decimal • Remember that Binary numbers are based on the radix of 2 while Decimal numbers are based on the radix of 10. • Remember also that binary will only be represented in 1 s and 0 s. • Steps in converting Binary to Decimal: – Place a number marker on the top of the given digits, starting from 0 up the last given digits—starting from the right to determine the exponent to use. – Consider all the 1 s in the given digits and multiply it with the base number of the given digits (which is base 2) and raised it with power of the number corresponded in the number marker you placed on the top of the given digits. Number Systems 13
Example: Binary to Decimal 1010102 = ? 10 5 4 3 2 1 0 Place the number marker on the top of the given digits, starting from the right, starting from 0 up to the last given digit on the left. = 101010 = 1*25 + 1*23 + 1*21 = 32 + 8 + 2 = 4210 Number Systems 14
Example: Binary to Decimal 101. 012 If dealing with fraction in binary the marker will start at the right side of the decimal point and starting with the -1 up to the last given digit. = ? 10 2 1 0 -1 -2 1*2 -2 will be converted into 1*2½ which results into 0. 25 because you will be dividing = 101. 01 = 1*22 + 1*20 + 1*2 -2 = 4 + 1 + 0. 25 = 1 / 4 which comes from 1*2½ 5. 2510 15
Binary to Octal • Since one octal digit is equivalent to three binary digits, just group three binary digits, starting from the least significant bit (right side). • Append 0 to the most significant bit (left side), if the grouping does not have enough to form three binary digits. • In short, you must complete the grouping of three digits. • If you will be having a fraction (decimal point), append 0 to the least most significant bit (right side) of the given digits to complete the grouping of three bits. Number Systems 16
Binary to Octal (cont. ) • Steps in converting Binary to Octal: – Group the given digits in three starting from the right side. – If the grouping is not complete, place 0 to complete the grouping. – Once you have grouped it into three digits, you starting converting the binary digits into decimal values following the concepts of binary digits (4, 2, 1) starting from the right. Number Systems 17
Example: Binary to Octal 11010102 = ? 8 3 rd group Add 0 to the left, to complete the grouping = 1 st group 001 101 010 4 2 1 = 2 nd group 4 2 1 001 101 010 = 1528 5 Number Systems 28 Simply add all the number markers considering the binary digits that has 1 on it. 18
Example: Binary to Octal 1101. 012 = ? 8 2 nd group Add 0 to the right, to complete the grouping for the fractional part of the given binary = 1 st group 001 101. 010 4 2 1 = 1 st group 4 2 1 001 101. 010 = 1 5. 28 = 15. 28 Number Systems Simply add all the number markers considering the binary digits that has 1 on it. 19
Binary to Hexadecimal • Since one hexadecimal digit is equivalent to four binary digits, just group four binary digits, starting from the least significant bit (right side). • Append 0 to the most significant bit (left side), if the grouping does not have enough to form four binary digits. • In short, you must complete the grouping of four digits. • If you will be having a fraction (decimal point), append 0 to the least most significant bit (right side) of the given digits to complete the grouping of three bits. Number Systems 20
Binary to Hexadecimal (cont. ) • Steps in converting Binary to Hexadecimal: – Group the given digits in four starting from the right side. – If the grouping is not complete, place 0 to complete the grouping. – Once you have grouped it into three digits, you starting converting the binary digits into decimal values following the concepts of binary digits (8, 4, 2, 1) starting from the right. Number Systems 21
Example: Binary to Hexadecimal 11010102 = ? 16 2 nd group Add 0 to the left, to complete the grouping = 0110 1010 8 4 2 1 = 1 st group Simply add all the number markers considering the binary digits that has 1 on it. 8 4 2 1 0110 1010 = 6 A 16 Number Systems A 16 22
Example: Binary to Hexadecimal 1101. 012 = ? 16 1 st group Add 0 to the left, to complete the grouping = 1101. 0100 8 4 2 1 = = = 1 st group Simply add all the number markers considering the binary digits that has 1 on it. 8 4 2 1 1101. 0100 D. 416 D. 416 Number Systems 23
Decimal to Binary • Converting a decimal number to a binary number is done by successively dividing the decimal number by 2 on the left side of the radix. • If you will have a fractional part of the given decimal, successively multiplying the decimal number by 2 on the right side of the radix. Number Systems 24
Decimal to Binary (cont. ) • Steps in converting Decimal to Binary: – Divide the given decimal number with the base number you are converting it to, which is 2. – Whatever the answer you will get in the division will be divided again with the base (2) until you cannot divide the answer anymore with 2. – The remainder that you will get will be the one you consider as your converted answer. Number Systems 25
Example: Decimal to Binary Remainder of the division, will only have two values since it is in base 2, meaning you can only have 1 or 0 as a remainder. 610 = ? 2 = 1102 remainder = = 6/2 0 1 1 3/2 1/2 In reading the answer, you should read it upward. 0/2 Number Systems 26
Example: Decimal to Binary 6. 62510 = = = ? 2 = 110. 1012 . 625*2 1. 25*2 0. 5*2 Stop here, because it is 1. 0 already 0 Number Systems You will be multiplying only the decimal numbers with base 2 until you reach 0 in the decimal place. 1 0 1 In reading the answer, you should read it downward. 27
Decimal to Octal • Converting a decimal number to an octal number is done by successively dividing the decimal number by 8 on the left side of the radix. • If you will have a fractional part of the given decimal, successively multiplying the decimal number by 8 on the right side of the radix. Number Systems 28
Decimal to Octal (cont. ) • Steps in converting Decimal to Octal: – Divide the given decimal number with the base number you are converting it to, which is 8. – Whatever the answer you will get in the division will be divided again with the base (8) until you cannot divide the answer anymore with 8. – The remainder that you will get will be the one you consider as your converted answer. Number Systems 29
Example: Decimal to Octal 6610 = = ? 8 1028 Remainder of the division, will only have 0 -7 values since it is in base 8 remainder = = 66/8 2 0 1 8/8 1/8 In reading the answer, you should read it upward. 0/8 Number Systems 30
Example: Decimal to Octal 66. 62510 = = = ? 8 = 102. 58 . 625*8 Stop here, because it is 5. 0 already 0 Number Systems You will be multiplying only the decimal numbers with base 8 until you reach 0 in the decimal place. 5 In reading the answer, you should read it downward. 31
Decimal to Hexadecimal • Converting a decimal number to a hexadecimal number is done by successively dividing the decimal number by 16 on the left side of the radix • If you will have a fractional part of the given decimal, successively multiplying the decimal number by 16 on the right side of the radix. Number Systems 32
Decimal to Hexadecimal (cont. ) • Steps in converting Decimal to Hexadecimal: – Divide the given decimal number with the base number you are converting it to, which is 16. – Whatever the answer you will get in the division will be divided again with the base (16) until you cannot divide the answer anymore with 16. – The remainder that you will get will be the one you consider as your converted answer. Number Systems 33
Example: Decimal to Hexadecimal 28610 = = Remainder of the division, will only have 0 -9, A-F values since it is in base 16 ? 16 11 E 16 In reading the answer, you should read it upward. remainder = = 286/16 17/16 14 1 1 The value 14 should be converted to hexadecimal format 0/16 Number Systems 34
Example: Decimal to Hexadecimal 286. 62510 = ? 16 = = = 11 E. A 16 . 625*16 Stop here, because it is 10. 0 already 0 Number Systems You will be multiplying only the decimal numbers with base 8 until you reach 0 in the decimal place. 10 In reading the answer, you should read it downward. 35
Octal to Decimal • Remember that Octal numbers are based on the radix of 8 while Decimal numbers are based on the radix of 10. • Remember also that Octal will only be represented with value 0 -7. • Steps in converting Octal to Decimal: – Place a number marker on the top of the given digits, starting from 0 up the last given digits—starting from the right to determine the exponent to use. – Considering all the given digits, multiply it with the base number of the given digits (which is base 8) and raised it with power of the number corresponded in the number marker you placed on the top of the given digits. Number Systems 36
Example: Octal to Decimal 7618 = ? 10 2 1 0 Place the number marker on the top of the given digits, starting from the right, starting from 0 up to the last given digit on the left. = 761 = 7*82 + 6*81 + 1*80 = 56 + 48 + 1 = 10510 Number Systems 37
Example: Octal to Decimal 761. 188 If dealing with fraction in octal the marker will start at the right side of the decimal point and starting with the 1 up to the last given digit. = ? 10 2 1 0 -1 -2 1*2 -2 will be converted into 1*2½ which results into 0. 25 because you will be dividing 1 / 4 which comes from 1*2½ = 761. 15 = 7*82 + 6*81 + 1*80 + 1*8 -1 + 8*8 -2 = 448 + 48 + 1 +0. 125 = 497. 2510 Number Systems 38
Octal to Binary • Since one octal digit is equivalent to three binary digits, just convert the individual octal digit into three binary digits. • Steps in converting Octal to Binary: – Convert each of the given octal number by simply using the concept of (4, 2, 1). – Place a binary 1 to correspond the given octal number. Number Systems 39
Example of Octal to Binary 7618 = ? 2 4 2 1 = 7 111 Simply add all the number markers considering the binary digits that has 1 on it, to get the octal number given. 4 2 1 = 6 110 4 2 1 = 1 001 = 111 110 0012 Number Systems 40
Example of Octal to Binary 761. 258 = ? 2 4 2 1 = 4 2 1 111 110 001. 010 101 7 = 4 2 1 6 1 2 5 111 110 001. 0101012 Number Systems 41
Octal to Hexadecimal • When converting an octal digit to a hexadecimal digit, you must first convert the octal number to binary number and group it by four and convert the grouped digits to hexadecimal by using the concept of (8, 4, 2, 1). • If the digits is not enough to form a grouping of four then append 0 on the left side of the digits. • If the given octal have fraction, then append 0 on the right side of the given digits. Number Systems 42
Octal to Hexadecimal (cont. ) • Steps in converting Octal to Hexadecimal: – Convert the octal digits in binary by considering each given digits and represent it in binary using the concept (4, 2, 1). – Once it is in binary, that’s the time you convert the binary into hexadecimal, by grouping it into four. Number Systems 43
Example: Octal to Hexadecimal 7618 = ? 16 = 111 110 001 7 6 1 = 0001 1111 0001 1 F 1 = 1 F 116 Number Systems 44
Example: Octal to Hexadecimal 761. 758 = = ? 16 111 110 001. 111 101 7 6 1 7 = 0001 1111 0001. 1111 0100 1 = 5 F 1 F 4 1 F 1. F 416 Number Systems 45
Hexadecimal to Binary • Since one hexadecimal digit is equivalent to four binary digits, just convert the individual hexadecimal digit into four binary digit Number Systems 46
Example: Hexadecimal to Binary 7 AE 316 = ? 2 = 7 A E 3 = 0111 1010 1110 00112 0111 1010 1110 0011 Number Systems 47
Example: Hexadecimal to Binary 7 AE. 316 = ? 2 = 7 A E 3 = 0111 1010 1110. 00112 0111 1010 1110 0011 Number Systems 48
Hexadecimal to Octal • When converting an hexadecimal digit to an octal digit, you must first convert the hexadecimal number to binary number and group it by three and convert the grouped digits to octal by using the concept of (4, 2, 1). • If the digits is not enough to form a grouping of three then append 0 on the left side of the digits. • If the given hexadecimal have fraction, then append 0 on the right side of the given digits. Number Systems 49
Hexadecimal to Octal (cont. ) • Steps in converting Hexadecimal to Octal: – Convert the hexadecimal digits in binary by considering each given digits – Once converted to binary group the binary into three and using the concept (4, 2, 1). Number Systems 50
Example: Hexadecimal to Octal 7 AE 316 = ? 8 = 7 A E 3 = 0 111 101 011 100 0113 2 7 5 3 4 = 753438 0111 1010 1110 0011 Number Systems 51
Example: Hexadecimal to Octal 7 AE. 316 = ? 8 = 7 A E 3 = 0111 1010 1110. 00112 = 011 110 101 110. 001 1002 = 3656. 148 3 0111 1010 1110 0011 6 5 Number Systems 6 1 4 52
Hexadecimal to Decimal • Each hexadecimal position is weighted with a power of 16. • Digits on the left side of the radix point has a positive exponent while on the right side of the radix point has a negative exponent. • Converting a hexadecimal number to a decimal number is done by successively multiplying the decimal number by 16 on the left side of the radix • If you will have a fractional part of the given decimal, successively multiplying the decimal number by 16 on the right side of the radix. Number Systems 53
Hexadecimal to Decimal (cont. ) • Steps in converting Hexadecimal to Decimal: – Place a number marker on the top of the given number for determining the exponent to be used. – Get the individual digit and multiply it by the base number (16) and raised it with the exponent corresponds to the number marker you place on each digit, then to the addition operation. Number Systems 54
Introduction to Computer Programming
Example: Hexadecimal to Decimal 286. A 16 = 2 1 0 ? 10 -1 = 286. A = 2*162 + 8*161 + 6*160 + A*16 -1 = 646. 62510 Number Systems 56
Example: Hexadecimal to Decimal 286 A 16 = = ? 10 3 2 1 0 286 A = 2*163 + 8*162 + 6*161 + A*160 = 1034610 Number Systems 57
Review of Number Systems
Common Number Systems 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
Quantities/Counting (1 of 3) Decimal 0 1 2 3 4 5 6 7 Binary 0 1 10 11 100 101 110 111 Hexa. Octal decimal 0 0 1 1 2 2 3 3 4 4 5 5 6 7 p. 33
Quantities/Counting (2 of 3) Decimal 8 9 10 11 12 13 14 15 Binary 1000 1001 1010 1011 1100 1101 1110 1111 Hexa. Octal decimal 10 8 11 9 12 A 13 B 14 C 15 D 16 17 E F
Quantities/Counting (3 of 3) Decimal 16 17 18 19 20 21 Binary 10000 10001 10010 10011 10100 10101 22 23 10110 10111 Hexa. Octal decimal 20 10 21 11 22 12 23 13 24 14 25 15 26 27 16 17 Etc.
Conversion Among Bases • The possibilities: Decimal Octal Binary Hexadecimal
Quick Example 2510 = 110012 = 318 = 1916 Base
Decimal to Decimal Octal Binary Hexadecimal Next slide…
Weight 12510 => 5 x 100 2 x 101 1 x 102 Base = 5 = 20 = 100 125
Binary to Decimal Octal Binary Hexadecimal
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
Example Bit “ 0” 1010112 => 1 1 0 1 x x x 20 21 22 23 24 25 = = = 1 2 0 8 0 32 4310
Octal to Decimal Octal Binary Hexadecimal
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
Example 7248 => 4 x 80 = 2 x 81 = 7 x 82 = 4 16 448 46810
Hexadecimal to Decimal Octal Binary Hexadecimal
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
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
Decimal to Binary Decimal Octal Binary Hexadecimal
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 2 31 2 15 7 2 3 2 1 2 0 1 1 1 12510 = 11111012
Octal to Binary Decimal Octal Binary Hexadecimal
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
Hexadecimal to Binary Decimal Octal Binary Hexadecimal
Hexadecimal to Binary • Technique – Convert each hexadecimal digit to a 4 -bit equivalent binary representation
Example 10 AF 16 = ? 2 1 0 A F 0001 0000 1010 1111 10 AF 16 = 000101011112
Decimal to Octal Decimal Octal Binary Hexadecimal
Decimal to Octal • Technique – Divide by 8 – Keep track of the remainder
Example 123410 = ? 8 8 8 1234 154 19 2 0 2 2 3 2 123410 = 23228
Decimal to Hexadecimal Decimal Octal Binary Hexadecimal
Decimal to Hexadecimal • Technique – Divide by 16 – Keep track of the remainder
Example 123410 = ? 16 16 1234 77 4 0 2 13 = D 4 123410 = 4 D 216
Binary to Octal Decimal Octal Binary Hexadecimal
Binary to Octal • Technique – Group bits in threes, starting on right – Convert to octal digits
Example 10110101112 = ? 8 1 010 111 1 3 2 7 10110101112 = 13278
Binary to Hexadecimal Decimal Octal Binary Hexadecimal
Binary to Hexadecimal • Technique – Group bits in fours, starting on right – Convert to hexadecimal digits
Example 1010112 = ? 16 10 1011 2 B B 1010112 = 2 BB 16
Octal to Hexadecimal Decimal Octal Binary Hexadecimal
Octal to Hexadecimal • Technique – Use binary as an intermediary
Example 10768 = ? 16 1 0 7 6 001 000 111 110 2 3 E 10768 = 23 E 16
Hexadecimal to Octal Decimal Octal Binary Hexadecimal
Hexadecimal to Octal • Technique – Use binary as an intermediary
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
Binary Addition
Binary Addition Introduction to Computer Programming
Binary Addition • Two 1 -bit values A 0 0 1 1 B 0 1 A+B 0 1 1 10 “two” pp. 36 -38
Binary Addition • Two n-bit values – Add individual bits – Propagate carries – E. g. , 1 1 10101 + 11001 101110 21 + 25 46
Binary Addition Introduction to Computer Programming
Binary Subtraction Introduction to Computer Programming
Binary Subtraction Introduction to Computer Programming
Fractions • Decimal to decimal 3. 14 => 4 x 10 -2 = 0. 04 1 x 10 -1 = 0. 1 3 x 100 = 3 3. 14 pp. 46 -50
Fractions • Binary to decimal 10. 1011 => 1 1 0 1 x x x 2 -4 2 -3 2 -2 2 -1 20 21 = = = 0. 0625 0. 125 0. 0 0. 5 0. 0 2. 6875
Fractions Introduction to Computer Programming
Fractions
Fractions Introduction to Computer Programming
Fractions Introduction to Computer Programming
Fractions Introduction to Computer Programming
Fractions • Decimal to binary 3. 14579 11. 001001. . 14579 x 2 0. 29158 x 2 0. 58316 x 2 1. 16632 x 2 0. 33264 x 2 0. 66528 x 2 1. 33056 etc. p. 50
Thank you
- Slides: 118