Créer une présentation
Télécharger la présentation

Télécharger la présentation
## Computer Codes

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**Computer Codes**Lecturer: Jing Liu Email: neouma@mail.xidian.edu.cn Homepage: http://see.xidian.edu.cn/faculty/liujing**Computer Codes**• A computer is a digital system that stores and processes different types of data in the form of 0s and 1s. • The different types of data handled by a computer system include numbers, alphabets and some special characters. • Therefore, there is a need to change the data entered by the users into a form that the computer system can understand and process.**Computer Codes**• Different types of codes have been developed and used to represent the data entered by the users in the binary format. • The binary system represents each type of data in terms of binary digits, 0s and 1s. • Since these codes convert the data into the binary form, the computer codes are also referred as binary codes.**Computer Codes**• Computer professionals use different number systems according to their requirements to communicate with the computer system. • All the number systems used by computer professionals to interact with computer systems come under the category of positional number system. • The positional number system is a number system in which numbers are represented using some symbols called digits and the values of these numbers can be determined by taking the position of digits into consideration.**Computer Codes**The different positional number systems are: • Decimal system • Binary system • Hexadecimal system • Octal system**Decimal System**• The decimal system is the most common number system used by human beings. • It is a positional number system that uses 10 as a base to represent different values. Therefore, this number system is also known as base 10 number system. • In this system, 10 symbols are available for representing the values. These symbols include the digits from 0 to 9. The common operations performed in the decimal system are addition (+), subtraction (-), multiplication (), and division (/).**Decimal System**• The decimal system can be used to represent both the integer as well as floating point values. The floating point values are generally represented in this system by using a period called decimal point. • The decimal point is used to separate the integer part and the fraction part of the given floating point number. • The value of any number represented in the decimal system can be determined by first multiplying the weight associated with each digit in the given number with the digit itself and then adding all these values produced as a result of multiplication operation.**Decimal System**6543.124 The powers to the base increases by 1 towards the left for the integer part and decreases by 1 towards the right for the fraction part.**Binary System**• The binary system uses base 2 to represent different values. Therefore, the binary system is also known as base-2 system. • As this system uses base 2, only two symbols are available for representing the different values in this system. These symbols are 0 and 1, which are also know as bits in computer terminology. • Using binary system, the computer systems can store and process each type of data in terms of 0s and 1s only.**Binary System**The following are some of the technical terms used in binary system: • Bit: It is the smallest unit of information used in a computer system. It can either have the value 0 or 1. Derived from the words Binary ditIT. • Nibble: It is a combination of 4 bits. • Byte: It is a combination of 8 bits. • Word: It is a combination of 16 bits. • Double word: It is a combination of 32 bits. • Kilobyte (KB): It is used to represent the 1024 bytes of information. • Megabyte (MB): It is used to represent the 1024 KBs of information. • Gigabyte (GB): It is used to represent the 1024 MBs of information.**Binary System**• We can determine the weight associated with each bit in the given binary number in the similar manner as we did in the decimal system. • In the binary system, the weight of any bit can be determined by raising 2 to a power equivalent to the position of bit in the number. 1011.101**Hexadecimal System**• The hexadecimal system is a positional number system that uses base 16 to represent different values. Therefore, this number system is known as base-16 system. • As this system uses base 16, 16 symbols are available for representing the values in this system. These symbols are the digits 0-9, which are used to represent the decimal values 0 through 9, and the letters A, B, C, D, E and F, which are used to represent the decimal values 10 through 15.**Hexadecimal System**• The weight associated with each symbol in the given hexadecimal number can be determined by raising 16 to a power equivalent to the position of the digit in the number. 4A90.2BC**Octal System**• The octal system is the positional number system that uses base 8 to represent different values. Therefore, this number system is also known as base-8 system. • As this system uses base 8, eight symbols are available for representing the values in this system. These symbols are the digits 0 to 7.**Octal System**• The weight associated with each digit in the given octal number can be determined by raising 8 to a power equivalent to the position of the digit in the number. 2157.075**4-Bit Binary Coded Decimal (BCD) Systems**• The BCD system is employed by computer systems to encode the decimal number into its equivalent binary number. • This is generally accomplished by encoding each digit of the decimal number into its equivalent binary sequence. • The main advantage of BCD system is that it is a fast and efficient system to convert the decimal numbers into binary numbers as compared to the pure binary system.**4-Bit Binary Coded Decimal (BCD) Systems**• The 4-bit BCD system is usually employed by the computer systems to represent and process numerical data only. In the 4-bit BCD system, each digit of the decimal number is encoded to its corresponding 4-bit binary sequence. The two most popular 4-bit BCD systems are: • Weighted 4-bit BCD code • Excess-3 (XS-3) BCD code**Weighted 4-Bit BCD Code**• The weighted 4-bit BCD code is more commonly known as 8421 weighted code. • It is called weighted code because it encodes the decimal system into binary system by using the concept of positional weighting into consideration. • In this code, each decimal digit is encoded into its 4-bit binary number in which the bits from left to right have the weights 8, 4, 2, and 1, respectively.**Weighted 4-Bit BCD Code**• Apart from 8421, some other weighted BCD codes are 4221, 2421 and 5211.**Weighted 4-Bit BCD Code**• Examples 6.1-6.6, p100. • 6.1: Represent the decimal number 5327 in 8421 BCD code. The corresponding 4-bit 8421 BCD representation of decimal digit 5 is 0101 The corresponding 4-bit 8421 BCD representation of decimal digit 3 is 0011 The corresponding 4-bit 8421 BCD representation of decimal digit 2 is 0010 The corresponding 4-bit 8421 BCD representation of decimal digit 7 is 0111 Therefore, the 8421 BCD representation of decimal number 5327 is 0101001100100111.**Excess-3 BCD Code**• The Excess-3 (XS-3) BCD code does not use the principle of positional weights into consideration while converting the decimal numbers to 4-bit BCD system. Therefore, we can say that this code is a non-weighted BCD code. • The function of XS-3 code is to transform the decimal numbers into their corresponding 4-bit BCD code. • In this code, the decimal number is transformed to the 4-bit BCD code by first adding 3 to all the digits of the number and then converting the excess digits, so obtained, into their corresponding 8421 BCD code. Therefore, we can say that the XS-3 code is strongly related with 8421 BCD code in its functioning.**Excess-3 BCD Code**• Examples 6.7-6.9, p102. • 6.7: Convert the decimal number 85 to XS-3 BCD code. Add 3 to each digit of the given decimal number as: 8+3=11 5+3=8 The corresponding 4-bit 8421 BCD representation of the decimal digit 11 is 1011. The corresponding 4-bit 8421 BCD representation of the decimal digit 8 is 1000. Therefore, the XS-3 BCD representation of the decimal number 85 is 1011 1000.**Excess-3 BCD Code**• Apart from XS-3 code, the other non-weighted BCD code is 4-bit Gray code. • 4-bit BCD systems are inadequate for representing and handling non-numeric data. For this purpose, 6-bit BCD and 8-BCD systems have been developed.**8-Bit BCD Systems**• The 6-bit BCD systems can handle numeric as well as non-numeric data but with few special characters. • The 8-bit BCD systems were developed to overcome the limitations of 6-bit BCD systems, which can handle numeric as well as nonnumeric data with almost all the special characters such as +, -, *, /, @, $, etc. • Therefore, the various codes under the category of 8-bit BCD systems are also known as alphanumeric codes.**8-Bit BCD Systems**• The three most popular 8-bit BCD codes are: • Extended Binary Coded Decimal Interchange Code (EBCDIC) • American Standard Code for Information Interchange (ASCII) • Gray Code**EBCDIC Code**• The EBCDIC code is an 8-bit alphanumeric code that was developed by IBM to represent alphabets, decimal digits and special characters, including control characters. • The EBCDIC codes are generally the decimal and the hexadecimal representation of different characters. • This code is rarely used by non IBM-compatible computer systems.**ASCII Code**• The ASCII code is pronounced as ASKEE and is used for the same purpose for which the EBCDIC code is used. However, this code is more popular than EBCDIC code as unlike the EBCDIC code this code can be implemented by most of the non-IBM computer systems. • Initially, this code was developed as a 7-bit BCD code to handle 128 characters but later it was modified to an 8-bit code.**Gray Code**• Gray code is another important code that is also used to convert the decimal number into 8-bit binary sequence. However, this conversion is carried in a manner that the contiguous digits of the decimal number differ from each other by one bit only.**Gray Code**• We can convert the Gray coded number to its binary equivalent by remembering the following two major rules: • The Most Significant Bit (MSB) of the Gray coded number and the equivalent binary number is always the same. • The next-to-most significant bit of the binary number can be determined by adding the MSB of the binary number to the next-to-most significant bit of the gray coded number.**Gray Code**• Examples 6.10-6.11, p106. • 6.10: Convert the Gray coded number 11010011 to its binary equivalent. The following table lists the steps showing the conversion of the Gray coded number into its binary equivalent: • Hence, the binary equivalent of Gray coded number 11010011 is 10011101**Gray Code**• We can also convert a number represented in the binary form to Gray code representation. For carrying out this conversion, we need to remember the following two rules: • The Most Significant Bit (MSB) of the binary number and the gray coded number is always the same. • The next MSD of the gray coded number can be obtained by adding the subsequent pair of bits of the binary number starting from the left.**Gray Code**• Examples 6.12-6.13, p107. • 6.12: Convert the binary number 10100011 to its equivalent Gray coded number. • Hence, the Gray coded equivalent of the binary number 10100011 is 11110010.**Conversion of Numbers**• The computer systems accept the data in decimal form, whereas they store and process the data in binary form. Therefore, it becomes necessary to convert the numbers represented in one system into the numbers represented in another system. The different types of number system conversions can be divided into the following major categories: • Non-decimal to decimal • Decimal to non-decimal • Octal to hexadecimal**Non-Decimal to Decimal**• The non-decimal to decimal conversions can be implemented by taking the concept of place values into consideration. The non-decimal to decimal conversion includes the following number system conversions: • Binary to decimal conversion • Hexadecimal to decimal conversion • Octal to decimal conversion**Binary to Decimal Conversion**• A binary number can be converted to equivalent decimal number by calculating the sum of the products of each bit multiplied by its corresponding place value. • Examples 6.14 and 6.17, p110. • 6.14: Convert the binary number 10101101 into its corresponding decimal number. (127)+(026)+(125)+(024)+(123)+(122)+ (021)+(120) =128+0+32+0+8+4+0+1 =173**Hexadecimal to Decimal Conversion**• A hexadecimal number can be converted into its equivalent number in decimal system by calculating the sum of the products of each symbol multiplied by its corresponding place value. • Examples 6.20 and 6.22, p111. • 6.20: Convert the hexadecimal number 6B39 into its equivalent in the decimal system. (6163)+(11162)+(3161)+(9160) =24567+2816+48+9 =27449**Octal to Decimal Conversion**• An octal number can be converted into its equivalent number in decimal system by calculating the sum of the products of each digit multiplied by its corresponding place value. • Examples 6.25 and 6.28, p113. • 6.25: Convert the octal number 13256 into its equivalent in decimal systems. (184)+(383)+(282)+(581)+(680) =4096+1536+128+40+6 =5806**Decimal to Non-Decimal**• The decimal to non-decimal conversions are carried out by continually dividing the decimal number by the base of the desired number system till the decimal number becomes zero. After the decimal number becomes zero, we may note down the remainders calculated at each successive division from last to first to obtain the decimal number into the desired system. The decimal to non-decimal conversion includes the following number system conversions: • Decimal to binary conversion • Decimal to hexadecimal conversion • Decimal to octal conversion**Decimal to Binary Conversion**• The decimal to binary conversion is performed by repeatedly dividing the decimal number by 2 till the decimal number becomes zero and then reading the remainders from last to first to obtain the binary equivalent to of the given decimal number. • Examples 6.29 and 6.30, p114. • 6.29: Convert the decimal number 30 into its equivalent binary number. Now, read the remainders calculated in the above table in upward direction to obtain the binary equivalent, which is 11110. Therefore, the binary equivalent of the decimal number 30 is 11110.**Decimal to Hexadecimal Conversion**• The decimal to hexadecimal conversion is performed by repeatedly dividing the decimal number by 16 till the decimal number becomes zero and then reading the remainders form last to first to obtain the binary equivalent to of the given decimal number. • Examples 6.34, p116: Convert the decimal number 1567 into its equivalent hexadecimal number. Now, read the remainders calculated in the above table in upward direction to obtain the hexadecimal equivalent, which is 61F. Therefore, the hexadecimal equivalent of the decimal number 1567 is 61F.**Decimal to Octal Conversion**• The decimal to octal conversion is performed by repeatedly dividing the decimal number by 8 till the decimal number becomes zero and then reading the remainders form last to first to obtain the binary equivalent to of the given decimal number. • Examples 6.36, p117: Convert the decimal number 45796 to its equivalent octal number. Now, read the remainders calculated in the above table in upward direction to obtain the octal equivalent, which is 131344. Therefore, the octal equivalent of the decimal number 45796 is 131344.**Octal to Hexadecimal**• The given octal number can be converted into its equivalent hexadecimal number in two different steps: • (1) Convert the given octal number into its binary equivalent by representing each digit in the octal number to its equivalent 3-bit binary number. • (2) Divide the binary number into 4-bit sections starting from the least significant bit.**Octal to Hexadecimal**• Example 6.38, p119: Convert the octal number 365 into its equivalent hexadecimal number. 3 5 6 011 101 110 0000 1111 0101 0 F 5 Therefore, the equivalent hexadecimal number is F5.**Computer Arithmetic**• A computer system stores and processes billions of instructions in a second that involves a lot of arithmetic computations. The different arithmetic operations in the computer system are preformed by the Arithmetic and Logic Unit (ALU). • The computer arithmetic is also referred as binary arithmetic because the computer system stores and processes the data in the binary form only. • Various binary arithmetic operations can be performed in the same way as the decimal arithmetic operations, but by following a predefined set of rules.**Computer Arithmetic**• Each binary arithmetic operation has an associated set of rules that should be adhered to while carrying out that operations. • The binary arithmetic operations are usually simpler to carry out as compared to the decimal operations because one needs to deal with only two digits, 0 and 1, in the binary operations. • The different binary arithmetic operations performed in a computer system are: • Binary addition • Binary multiplication • Binary subtraction • Binary division**Binary Addition**• Like decimal system, we can start the addition of two binary numbers column-wise from the right most bit and move towards the left most bit of the given numbers. However, we need to follow certain rules. The carry, if it is generated, while performing the binary addition in a column would be forwarded to the next most significant column.**Binary Addition**Examples 7.1 and 7.2, p124. 7.2: Perform the binary addition of the binary numbers 101010 and 010011: +