Chapter-3
DATA REPRESENTATION
Introduction
· In Digital Computer, data and instructions are stored in computer memory using binary code (or machine code) represented by Binary digIT’s 1 and 0 called BIT’s.
· The data may contain digits, alphabets or special character, which are converted to bits, understandable by the computer.
· The number system uses well defined symbols called digits.
· Number systems are basically classified into two types. They are:
o Non-positional number system
o Positional number system
Non-Positional Number System
· In olden days people use of this type of number system for simple calculations like additions and subtractions.
· The non-positional number system consists of different symbols that are used to represent numbers.
· Roman number system is an example of the non-positional number system i.e. I=1, V=5, X=10, L=50.
· This number system cannot be used effectively to perform arithmetic operations.
Positional Number System
· This type of number system are: o Decimal number system o Binary number system
o Octal number system
o Hexadecimal number system
· The total number of digits present in any number system is called its Base or Radix.
· Every number is represented by a base (or radix) x, which represents x digits.
· The base is written after the number as subscript such as 512(10).It is a Decimal number as its base is 10.
· To determine the quantity that the number represents, the number is multiplied by an integer power of x depending on the position it is located and then finds the sum of the weighted digits.
· Example: Consider a decimal number 512.45(10) which can be represented in equivalent value as:
5x10^{2} + 1x10^{1} + 2x10^{0} + 4x10^{-1} + 5x10^{-2}
Decimal Number System
· It is the most widely used number system.
· The decimal number system consists of 10 digits from 0 to 9.
· It has 10 digits and hence its base or radix is 10.
· These digits can be used to represent any numeric value.
· Example: 123_{(10)}, 456_{(10)}, 7890_{(10)}.
· Consider a decimal number 542.76_{(10)} which can be represented in equivalent value as:
5x10^{2} + 4x10^{1} + 2x10^{0} + 7x10^{-1} + 6x10^{-2}
Hundreds | Tens | Units | One-tenth | One-hundredth | |
Weights | 10^{2} | 10^{1} | 10^{0} | 10^{-1} | 10^{-2} |
Digits | 5 | 4 | 2 | 7 | 6 |
Values | 500 | 40 | 2 | 0.7 | 0.06 |
Binary Number System
· Digital computer represents all kinds of data and information in the binary system.
· Binary number system consists of two digits 0 (low voltage)and 1 (high Voltage)
· Its base or radix is 2.
· Each digit or bit in binary number system can be 0 or 1.
· The positional values are expressed in power of 2.
· Example: 1011(2) , 111(2), 100001(2)
· Consider a binary number 11011.10(2) which can be represented in equivalent value as:
1x2^{4} + 1x2^{3} + 0x2^{2} + 1x2^{1} + 1x2^{0} + 0x2^{-1} + 0x2^{-2}
Weights | 2^{4} | 2^{3} | 2^{2} | 2^{1} | 2^{0} | 2^{-1} | 2^{-2} |
Digits | 1 | 1 | 0 | 1 | 1 | 1 | 0 |
Values | 16 | 8 | 4 | 2 | 1 | 0.5 | 0.25 |
· Note: In the binary number 11010(2)
· The left most bit 1 is the highest order bit. It is called as Most Significant Bit (MSB).
· The right most bit 0 is the lower bit. It is called as Least Significant Bit (LSB).
Octal Number System
· The octal number system has digits starting from 0 to 7.
· The base or radix of this system is 8.
· The positional values are expressed in power of 8.
· Any digit in this system is always less than 8.
· Example: 123(8), 236(8), 564(8)
· The number 6418 is not a valid octal number because 8 is not a valid digit.
· Consider a Octal number 234.56(8) which can be represented in equivalent value as:
2x8^{2} + 3x8^{1} + 4x8^{0} + 5x8^{-1} + 6x8^{-2}
Weights | 8^{2} | 8^{1} | 8^{0} | 8^{-1} | 8^{-2} |
Digits | 2 | 3 | 4 | 5 | 6 |
Values | 64 | 8 | 1 | 0.125 | 0.015625 |
Hexadecimal Number System
· The hexadecimal number system consists of 16 digits from 0 to 9 and A to F.
· The letters A to F represent decimal numbers from 10 to 15.
· That is, ‘A’ represents 10, ‘B’ represents 11, ‘C’ represents 12, ‘D’ represents 13, ‘E’ represents
14 and ‘F’ represents 15.
· The base or radix of this number system is 16.
· Example: A4 (16), 1AB (16), 934(16), C (16)
· Consider a Hexadecimal number 5AF.D(16) which can be represented in equivalent value as:
5x16^{2} + Ax16^{1} + Fx16^{0} + Dx16^{-1}
Weights | 16^{2} | 16^{1} | 16^{0} | 16^{-1} |
Digits | 5 | A | F | D |
Values | 256 | 16 | 1 | 0.0625 |
Number System | Base | Symbol used |
Binary | 2 | 0, 1 |
Octal | 8 | 0,1,2,3,4,5,6,7 |
Decimal | 10 | 0,1,2,3,4,5,6,7,8,9 |
Hexadecimal | 16 | 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F where A=10; B=11; C=12; D=13; E=14; F=15 |
Number System Conversions
Conversion from Decimal to Binary:
1. Steps to convert decimal number to binary number:
· Step 1: Divide the given decimal number by 2.
· Step 2: Take the remainder and record it on the right side.
· Step 3: Repeat the Step 1 and Step 2 until the decimal number cannot be divided further.
· Step 4: The first remainder will be the LSB and the last remainder is the MSB. The equivalent binary number is then written from left to right i.e. from MSB to LSB.
Example: To convert the decimal number 87(10) to binary.
· So 87 decimal is written as 1010111 in binary.
· It can be written as 87(10)= 1010111(2)
2. Steps to convert decimal fraction number to binary number:
· Step 1: Multiply the given decimal fraction number by 2.
· Step 2: Note the carry and the product.
· Step 3: Repeat the Step 1 and Step 2 until the decimal number cannot be divided further.
· Step 4: The first carry will be the MSB and the last carry is the LSB. The equivalent binary fraction number is written from MSB to LSB.
Example 1: To convert the decimal number 0.3125(10) to binary.
Multiply by 2 | Carry | Product |
0.3125 x 2 | 0 (MSB) | 0.625 |
0.625 x 2 | 1 | 0.25 |
0.25 x 2 | 0 | 0.50 |
0.50 x 2 | 1 (LSB) | 0.00 |
0.00 |
· Therefore, 0.3125(10) = 0.0101(2)
OR
Example 2: To convert the decimal number 152.671875(10) to binary.
3. Steps to convert binary number to decimal number
· Step 1: Start at the rightmost bit.
· Step 2: Take that bit and multiply by 2n, when n is the current position beginning at 0 and increasing by 1 each time. This represents a power of two.
· Step 3: Then, add all the products.
· Step 4: After addition, the resultant is equal to the decimal value of the binary number.
Example 1: To convert the binary number 1010111(2) to decimal.
· Therefore, 1010111(2) = 87(10)
Example 2: To convert the binary number 11011.101(2) to decimal.
= 1x2^{4} + 1x2^{3} + 0x2^{2} + 1x2^{1} + 1x2^{0} + 1x2^{-1} + 0x2^{-2} + 1x2^{-3}
= 1x16 + 1x8 + 0x4+ 1x2 + 1x1 + 1x0.5+ 0x0.25+ 1x0.125
= 16 + 8 + 2 + 1 + 0.5 + 0.125
= 27.625(10)
OR
Weights | 2^{4} | 2^{3} | 2^{2} | 2^{1} | 2^{0} | 2^{-1} | 2^{-2} | 2^{-3} |
Digits | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 |
Values | 16 | 8 | 4 | 2 | 1 | 0.5 | 0.25 | 0.125 |
· Therefore, 11011.101(2) = 27.625(10)
Conversion from Decimal to Octal
1. Steps to convert decimal number to octal number
· Step 1: Divide the given decimal number by 8.
· Step 2: Take the remainder and record it on the side.
· Step 3: Repeat the Step 1 and Step 2 until the decimal number cannot be divided further.
· Step 4: The first remainder will be the LSB and the last remainder is the MSB. The equivalent octal number is then written from left to right i.e. from MSB to LSB.
Example 1: To convert the decimal number 3034(10) to octal number.· So 3034 decimal is written as 5732 in octal.
· It can be written as 3034(10) = 5732(8)
· Note: If the number is less than 8 the octal number is same as decimal number.
Example 2: To convert the decimal number 0.3125(10) to octal number.
0.3125 x 8 = 2.5000 2
0.5000 x 8 = 4.0000 4
· Therefore, 0.3125(10) = 0.24(8)
2. Steps to convert octal number to decimal number
· Step 1: Start at the rightmost bit.
· Step 2: Take that bit and multiply by 8n, when n is the current position beginning at 0 and increasing by 1 each time. This represents the power of 8.
· Step 3: Then, add all the products.
· Step 4: After addition, the resultant is equal to the decimal value of the octal number.
Example 1: To convert the octal or base-8 number 5732(8) to decimal
· Therefore, 5732(8) = 3034(10)
Example 2: To convert the octal number 234.56(8) to decimal number.
= 2x8^{2} + 3x8^{1} + 4x8^{0} + 5x8^{-1} + 6x8^{-2}
= 2x64+ 3x8 + 4x1 + 5x0.125+ 6x0.015625
= 128 + 24 + 4 + 0.625 + 0.09375
= 156.71875(10)
OR
Weights | 8^{2} | 8^{1} | 8^{0} | 8^{-1} | 8^{-2} |
Digits | 2 | 3 | 4 | 5 | 6 |
Values | 64 | 8 | 1 | 0.125 | 0.015625 |
· Therefore, 234.56(8) = 156.71875(10)
Conversion from Decimal to Hexadecimal
1. Steps to convert decimal number to hexadecimal number
· Step 1: Divide the decimal number by 16.
· Step 2: Take the remainder and record it on the side.
· Step 3: Repeat the Step 1 and Step 2 until the decimal number cannot be divided further.
· Step 4: The first remainder will be the LSB and the last remainder is the MSB. The equivalent hexadecimal number is then written from left to right i.e. from MSB to LSB.
Example To convert the decimal number 16242(10) to hexadecimal
· So 16242 decimal is written as 3F72 in hexadecimal.
· It can be written as 16242(10) = 3F72 (16)
· Note: If the number is less than 16 the hexadecimal number is same as decimal number.
2. Steps to convert hexadecimal number to decimal number
· Step 1: Start at the rightmost bit.
· Step 2: Take that bit and multiply by 16n, where n is the current position beginning at 0 and increasing by 1 each time. This represents a power of 16.
· Step 3: Then, add all the products.
· Step 4: After addition, the resultant is equal to the decimal value of the hexadecimal number.
Example 1: To convert the Hexadecimal or base-16 number 3F72 to a decimal number.
Therefore, 3F72(16)= 16242(10)
Example 2: To convert the hexadecimal number 5AF.D(16) to decimal number.
= 5x16^{2} + 10x16^{1} + 15x16^{0} + 13x16^{-1}
= 5x256+ 10x16 + 15x1 + 13x0.0625
= 1280 + 160 + 15 + 0.8125
= 1455.8125(10)
OR
Weights | 16^{2} | 16^{1} | 16^{0} | 16^{-1} |
Digits | 5 | A | F | D |
Values | 256 | 16 | 1 | 0.0625 |
· Therefore, 5AF.D(16) = 1455.8125(10)
Conversion from Binary to Octal
Steps to convert Binary to octal
· Take a binary number in groups of 3 and use the appropriate octal digit in its place.
· Begin at the rightmost 3 bits. If we are not able to form a group of three, insert 0s to the left until we get all groups of 3 bits each.
· Write the octal equivalent of each group. Repeat the steps until all groups have been converted.
Note: To make group of 3 bits, for whole numbers, it may be necessary to add a 0’s to the left of MSB
and when representing fractions, it may be necessary to add a 0’s to right of LSB.
Conversion from Octal to Binary
Steps to convert octal to binary
· Step 1: Take the each digit from octal number
· Step 2: Convert each digit to 3-bit binary number. (Each octal digit is represented by a three- bit binary number as shown in Numbering System Table)
Octal digit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Binary Equivalent | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
Example 1: Consider the octal number 456(8) into binary
4 –> 100
5 –> 101
6 –> 110
Therefore, 456(8) = 100101110 (2)
Example 2: Consider the octal number 73.16(8) into binary
7 –> 100
3 –> 101
1 –> 001
6 –> 110
Therefore, 73.16(8) = 100101.001110 (2)
Conversion from Binary to Hexadecimal
Steps to convert Binary to Hexadecimal
· Take a binary number in groups of 4 and use the appropriate hexadecimal digit in its place.
· Begin at the rightmost 4 bits. If we are not able to form a group of four, insert 0s to the left until we get all groups of 4 bits each.
· Write the hexadecimal equivalent of each group. Repeat the steps until all groups have been converted.
Conversion from Hexadecimal to Binary
Steps to convert hexadecimal to binary
· Step 1: Take the each digit from hexadecimal number
· Step 2: Convert each digit to 4-bit binary number. (Each hexadecimal digit is represented by a four-bit binary number as shown in Numbering System Table)
Example: Consider the hexadecimal number CEBA (16)
Therefore, CEBA (16) = 1100 1110 1011 1010 (2)
Conversion from Octal to Hexadecimal
Steps to convert Octal to Hexadecimal
Using Binary system, we can easily convert octal numbers to hexadecimal numbers and vice-versa
· Step 1: write the binary equivalent of each octal digit.
· Step 2: Regroup them into 4 bits from the right side with zeros added, if necessary.
· Step 3: Convert each group into its equivalent hexadecimal digit.
Example: Consider the octal number 274 (8)
2 –> 010
7 –> 111
4 –> 100
Therefore, 274 (8) = 010 111 100 (2)
Group the bits into group of 4 bits as 0 1011 1100
Therefore, 274 (8) = BC (8)
Conversion from Hexadecimal to Octal
Steps to convert Hexadecimal to Octal
· Step 1: write the binary equivalent of each hexadecimal digit.
· Step 2: Regroup them into 3 bits from the right side with zeros added, if necessary.
· Step 3: Convert each group into its equivalent octal digit.
Binary Arithmetic
· It involves addition, subtraction, multiplication and division operations.
· Binary arithmetic is much simpler to learn because system deals with only two digit 0’s and 1’s.
· When binary arithmetic operations are performed on binary numbers, the results are also 0’s and
1’s.
Binary Addition
· The addition of two binary numbers is performed in same manner as the addition of decimal number.
· The basic rules of binary addition are:
Addend1 | Addend2 | Sum | Carry |
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
· It adds only two bits and gives sum and carry. If a carry is generated, it should be carried over to
the addition of next two bits.
Binary Subtraction
· This operation is same as the one performed in the decimal system.
· This operation is consists of two steps:
o Determine whether it is necessary for us to borrow. If the subtrahend (the lower digit) is larger than the minuend (the upper digit), it is necessary to borrow from the column to the left. In binary two is borrowed.
o Subtract the lower value from the upper value
· The basic rules of binary subtraction are:
Minuend | Subtrahend | Difference | Barrow |
0 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 |
· When we subtract 1 from 0, it is necessary to borrow 1 from the next left column i.e. from the next higher order position.
Representation of signed Integers
· The digital computer handle both positive and negative integer.
· It means, is required for representing the sign of the number (- or +), but cannot use the sign (-) to denote the negative number or sign (+) to denote the positive number.
· So, this is done by adding the leftmost bit to the number called sign bit.
· A positive number has a sign bit 0, while the negative has a sign bit 1.
· It is also called as fixed point representation.
· A negative signed integer can be represented in one of the following:
1) Sign and magnitude method
2) One’s complement method
3) Two’s complement method
Sign and magnitude method
· An integer containing a sign bit followed by magnitude bits are called sign-magnitude integer.
· In this method, first bit (MSB) is considered as a sign bit and the remaining bits stand for magnitude.
· Here positive number starts with 0 and negative number starts with 1.
1’s Complement representation
· This is the simplest method of representing negative binary number.
· The 1’s complement of a binary number is obtained by changing each 0 to 1 and each 1 to 0.
· In other words, change each bit in the number to its complement.
2’s Complement representation
· The 2’s complement of a binary number is obtained by taking 1’s complement of the number and
adding 1 to the Least Significant Bit (LSB) position.
· The general procedure to find 2’s complement is given by:
2’s Complement = 1’s Complement + 1
Note:
Negation: It is the operation of converting a positive number to its negative equivalent or a negative number to its positive equivalent. Negation is performed by performing 2’s complement system.
· Example 1: Consider the number +12. Its binary representation is 01100(2). Find the 2’s
complement of +12.
Clearly, this is a negative number since the sign bit is 1. Actually, 10100 represent -12(10)
which is the negative equivalent of the number 12(10)
· Example 2: Consider the number -12. Its binary representation is 10100(2). Find the 2’s
complement of -12.
Clearly, this is a positive number since the sign bit is 0. Actually, 01100 represent 12(10) which is the negative equivalent of the number -12(10)
Subtraction of Binary Number using Complement
· Most of the computers perform subtraction using complemented number. This is less expensive because the same addition circuit is used for subtraction with slight changes in the circuit.
· In the binary number system we can perform subtraction operation using two methods of complements:
o Subtraction using 1’s Complement
o Subtraction using 2’s Complement
Subtraction using 1’s Complement
· Case 1: Subtracting a smaller number from a larger number (Minuend is greater than Subtrahend)
o Step 1: Find the 1’s complement of the subtrahend.
o Step 2: Add this to the minuend.
o Step 3: Carry is generated, this carry is called as the end around carry
o Step 4: Add the end around carry back to the LSB to get the final difference.
· Case 2: Subtracting a larger number from a smaller number (Minuend is less than Subtrahend)
o Step 1: Find the 1’s complement of the subtrahend.
o Step 2: Add this to the minuend.
o Step 3: There will be no carry, Re complement the answer to get the difference
Subtraction using 2’s Complement
· Case 1: Subtracting a smaller number from a larger number (Minuend is greater than Subtrahend)
o Step 1: Find the 2’s complement of the subtrahend.
o Step 2: Add this to the minuend.
o Step 3: Carry is generated, Discard the carry and the remaining bits give the difference.
Case 2: Subtracting a larger number from a smaller number (Minuend is less than Subtrahend)
o Step 1: Find the 2’s complement of the subtrahend.
o Step 2: Add this to the minuend.
o Step 3: There will be no carry, hence take the 2’s complement of the answer and place a
negative sign in front.
Ø Computer Codes
· Computer code helps us to represent characters in a coded form in the memory of the computer.
· These codes represent specific formats which are used to record data.
· Some of the commonly used computer codes are:
o Binary Coded Decimal (BCD)
o Extended Binary Coded Decimal Interchange Code (EBCDIC) o American Standard Code for Information Interchange (ASCII) o Excess-3 Code.
Ø BCD code (or Weighted BCD Code or 8421 Code)
· BCD stands for Binary Coded Decimal.
· It is one of the early computer codes.
· In this coding system, the bits are given from left to right, the weights 8,4,2,1 respectively.
· The BCD equivalent of each decimal digit is shown in table.
Decimal Digit | BCD Equivalent | Decimal Digit | BCD Equivalent |
0 | 0000 | 5 | 0101 |
1 | 0001 | 6 | 0110 |
2 | 0010 | 7 | 0111 |
3 | 0011 | 8 | 1000 |
4 | 0100 | 9 | 1001 |
In 4-bit BCD only 2^{4}=16 configurations are possible which is insufficient to represent the various characters.
· Hence 6-bit BCD code was developed by adding two zone positions with which it is possible to represent 2^{6}=64 characters.
Excess-3 BCD code (or XS-3 Code)
· The Excess-3 BCD code is a non-weighted code used to express decimal number.
· The name Excess-3 code derived from the fact that each binary code is the corresponding BCD
code plus 0011(2)(i.e. Decimal 3).
· This code is used in some old computers.
· The following table gives the Excess-3 code equivalent of decimal (0-9).
Decimal Number | BCD Number | Adding 3 to BCD | Excess-3 Equivalent |
0 | 0000 | 11 | 0011 |
1 | 0001 | 11 | 0100 |
2 | 0010 | 11 | 0101 |
3 | 0011 | 11 | 0110 |
4 | 0100 | 11 | 0111 |
5 | 0101 | 11 | 1000 |
6 | 0110 | 11 | 1001 |
7 | 0111 | 11 | 1010 |
8 | 1000 | 11 | 1011 |
9 | 1001 | 11 | 1100 |
· Example: Find Excess-3(XS3) representation of decimal number 537.
5 | 3 | 7 –> Decimal Digit |
0101 | 0110 | 0111 –> 8421 BCD Code |
0011 | 0011 | 0011 –> Add 3 |
1000 | 1010 | 0110 –> Excess-3 Code |
EBCDIC
· It stand for Extended Binary Coded Decimal Interchange Code.
· This was developed by IBM.
· It uses an 8-bit code and hence possible to represent 256 different characters or bit combinations.
· EBCDIC is used on most computers and computer equipment today.
· It is a coding method generally used by larger computers (mainframes) to present letters, numbers or other symbols in a binary language the computer can understand.
· EBCDIC is an 8-bit code; therefore, it is divided into two 4-bit groups, where each 4-bit can be represented as 1 hexadecimal digit.
ASCII
· It stands for the American Standard Code for Information Interchange.
· It is a 7-bit code, which is possible to represent 27=128 characters.
· It is used in most microcomputers and minicomputers and in mainframes.
· The ASCII code (Pronounced ask-ee) is of two types – ASCII-7 and ASCII-8.
· ASCII-7 is 7-bit code for representing English characters as numbers, with each letter assigned a number from 0 to 127.
· Example: The ASCII code for uppercase M is 77.
0 Response to "DATA REPRESENTATION–1st Pu Computer Notes"
Post a comment