Upload
aditya-sharat
View
4.190
Download
0
Embed Size (px)
DESCRIPTION
An introduction to number systems
Citation preview
Data Representation
and
Number System
0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 1
Data Representation
• Data:
Data are numbers and other binary-coded information that are
operated on to achieve required computational results.
• Control Information
Control information is a bit or a group of bits used to specify the
sequence of command signals.
Data Representation
• Bit:
Binary Digit. 0/1• A group of bits in a computer are used to represent many
different things.
It can represent a number.
It can represent a character.
It can represent an instruction.
• Byte:
A group of 8 bits is a byte.
• Nibble
A group of 4 bits is a nibble.
Number System: Radix / Base
• Radix / Base:
A number system of base, or radix, r is a system that uses distinct
symbols for r digits.
In this system the number of states each digit has is determined by the
base or radix.
• Based on the radix there are four number systems
o Decimal
o Binary
o Octal
o Hexadecimal
• Number System is a code representing quantity.
Decimal system
Radix / base = 10
• For example :
253 means
2*102 + 5*101 + 3*100
0
1
2
3
4
5
6
7
8
9
• 1,10,100 (from R to L) are the “weights”
• 10 digits, values 0 through 9
• After 9 comes 10 (double digits)
Binary system
• For example :
1011 means 1*23 + 0*22 + 1*21 + 1*200
1
Radix / base = 2
• 2 digits, values 0 and 1
• 1, 2, 4, 8 are the weights
• After 1 comes 10
• Count 0 1 10 11 100 101 110 111 1000
Binary system
• Used to do calculations in all computers
• Used to store values in memory and on disk
• Not practical for people
• Input-Output done in decimal for user
• Software translates in both directions
Octal system
• For example :
253 means : 2*82 + 5*81 + 3*80
Radix / base = 8
0
1
2
3
4
5
6
7
• 1, 8, 64 are the weights
• 8 digits, values 0 through 7
• After 7 comes 10
• Used to display memory addresses in some
older computers
Hexadecimal system
• For example :
3B6 means 3*162 + B*161 + 6*1600
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Radix / base = 16
• 1, 16, 256 are the weights
• 16 digits, values 0 - 9 and A-F
• After F comes 10
• Used to display memory addresses in most
modern computers e.g., 3C0F 95EA
Categorizing the Conversion Rule
• Converting from one number system to the other system
can be categorized as
• Any radix to Decimal system
• Decimal system to any radix
• Octal to binary and hexadecimal to binary
• Any radix to Any radix (other than binary)
For example: (00101010)2
Binary to Decimal Conversion
Approach is from LSB to MSB
For Integers
0 0 1 0 1 0 1 0
27 26 25 24 23 22 21 20
Equals:
27 * 0 + 26 * 0 + 25 * 1 + 24 * 0 + 23 * 1 + 22 * 0 + 21 * 1 + 20 * 0
= 32 + 8 + 2 = 42
(00101010)2 = 4210
Exercise
• 1010002 = ( ??? )10
• 10010112 =
• 1000112 =
• 0110112 =
01001011
Least Significant BitMost Significant Bit
4010
7510
From Decimal to Binary
• For example: 5610 = ( ???? )2
2 ) 56 0
2 ) 28 0
2 ) 14 0
2 ) 7 1
2 ) 3 1
2 ) 1 1
0
For Integers
• Divide by 2 until you reach zero, and then collect the
remainders in reverse.
Least significant bit
(0111000)2
Exercise
• (48)10 = ( ????? )2
(00110000)2
Binary to Decimal
(10110.10101)2
= (1 * 16) + (0 * 8) + (1*4) + (1*2) + (0*1) + ( 1 / 2) + (0 / 4)
+ ( 1 / 8) + ( 0 / 16) + (1 / 32)
= (22.65675) 10
Binary point
With Fraction
1 0 1 1 0 . 1 0 1 0 1
24 23 22 21 20 . 2-1 2-2 2-3 2-4 2-5
From Decimal to Binary
For example:
(56.6875)10 = ( ???? )2
• Convert the integer and fraction part separately
(56) 10 = (111000)2
With Fraction
• For fraction part, multiply the fraction part by 2, and each time
discard the integer so obtained.
• Collect this discarded integer part as the binary equivalent.
• Repeat this process until zero or until the required accuracy.
0.6875 0.5000
x 2 x 2
1.3750 1.0000
0.3750
x 2
0.7500
0.7500
x 2
1.5000
(56.6875)10 = (111000.1011)2
.1011
Exercise
• (48.3125)10 = ( ????? )2
(00110000.0101)2
From Decimal to Radix r
• Separate the integer part and fraction part
• Convert the integer part and then fraction part separately.
• Rule For converting the integer part:
Conversion of a decimal to a base r is done by successive
divisions by r and accumulating the remainders.
This is repeated until the quotient becomes zero.
Collect remainders in the reverse order.
• Rule For converting the decimal part:
Conversion of a decimal to a base r is done by successive
multiplications by r and accumulating the remainders.
• This process is repeated until the fraction parts becomes
zero or number of digits gives the required accuracy
• Take the integer outputs in the forward direction
From Radix r to Decimal
• Beginning with the rightmost digit multiply each nth digit
by r(n-1), and add all of the results together (considering the
position just before the decimal point as the first position.
N = AnRn + An-1Rn-1 + …….A2R2+ A1R1 +A0R0. A1R-1+
A2R-2 +…….
• N - Number
• An - Digit in that position (nth Position)
• R - Radix or base of the system
• - Radix Point
Decimal to Octal Conversion
• Convert the fraction and integer part separately.
• For Integer part:
o The Division Method: Divide by 8 until you reach
zero, and then collect the remainders in reverse.
8 ) 478 6
8 ) 59 3 8 ) 7 7
0(736)8
• For example: (478.5)10 = ( ?? )8
• For Fraction part:
o The Multiplication Method: Multiply the fraction part
successively by 8 and accumulate the remainders until
you reach zero.
0.5
x 8 (736.4)8
4.0
Octal to Decimal Conversion
For example: (736.4)8
8-1.808182
4.637
Equals: 7* 82 + 3 * 81 + 6 * 80 + 4 * 8-1
= 448+24+6+0.5
= (478.5)10
• To convert to base 10, beginning with the rightmost digit
multiply each nth digit by 8(n-1), and add all of the results
together.
Exercise
• (0.40)8 = ______10 0.50
HexaDecimal to Decimal Conversion
• To convert to base 10, beginning with the rightmost digit
multiply each nth digit by 16(n-1), and add all of the results
together.
For example: 1F416
1 F 4
162 161 160
Equals: 1 * 162 + F * 161 + 4 * 160
= 256 + 15*16 + 4
=(500)10
Decimal to Hexa Conversion
• The Division Method. Divide by 16 until you reach zero,
and then collect the remainders in reverse.
For example: 12610 = 7E16
16) 126 14 = E
16) 7 7
0
A 10
B 11
C 12
D 13
E 14
F 15
Exercise
• (AF)16 = ______10
175
Binary to Octal
For example: (1 010 101 111)2
Grouping : 1 010 101 111
1 2 5 7
(1010101111)2 = (1257)8
• Group the binary number into groups of 3 bits starting from
the least significant bit, and convert it into its decimal equivalent.
Octal to Binary
• Take each digit one by one from the string of digits and
convert each digit into its respective binary number, as a
group of three bits.
(257)8 = ____2
7 is converted as 111
5 is converted as 101
2 is converted as 010
(257)8 = (010101 111)2 Binary Triplet Method
Binary -Coded Octal Numbers
Three-bit Group Decimal Digit Octal Digit
000 0 0
001 1 1
010 2 2
011 3 3
100 4 4
101 5 5
110 6 6
111 7 7
001 000 10
010 100 24
Binary to Hexadecimal
For example: (1010 1111 0110 0011)2
Grouping : 1010 1111 0110 0011
A F 6 3
(1010111101100011)2 = (AF63)16
• Group the binary number into groups of 4 bits starting
from the least significant bit, and convert it into its decimal
equivalent.
A 10
B 11
C 12
D 13
E 14
F 15
Hexadecimal to Binary
• Take each digit one by one from the string of digits and
convert each digit into its respective binary number, as a
group of four bits.
(257)16 = ____2
7 is converted as 0111
5 is converted as 0101
2 is converted as 0010
(257)16 = (00100101 0111)2
Hexadecimal to Binary
(BA7)16 = ____2
7 is converted as 0111
A is converted as 1010
B is converted as 1011
(BA7)16 = (10111010 0111)2
A 10
B 11
C 12
D 13
E 14
F 15
Binary-Coded Hexadecimal Numbers
Four-bit Group Decimal Digit Hexadecimal Digit
0000 0 0
0001 1 1
0010 2 2
0011 3 3
0100 4 4
0101 5 5
0110 6 6
0111 7 7
1000 8 8
1001 9 9
Four-bit Group Decimal Digit Hexadecimal Digit
1010 10 A
1011 11 B
1100 12 C
1101 13 D
1110 14 E
1111 15 F
Binary-Coded Hexadecimal Numbers
0001 0100 14
0011 0010 50
Binary to octal and hexadecimal
• 1010111101100011
• 1010111101100011
• 1010111101100011
1275438
AF6316
Binary
Octal
Hexa
EXERCISE
• Note:
• The highest digit in octal system is 7 whose binary
equivalent is 111.
• The highest digit in hexadecimal system in F, whose
binary equivalent is 1111.
Complements
There are two types of complements for each base r system:
• r’s complement
• ( r-1)’s complement
(r-1)’s complement
• Given a number N in base r having n digit, the (r-1)’s
complement of N is (rn –1) –N.
• For decimal numbers, there exist 9’s complement.
• For binary numbers, there exist 1’s complement.
9’s Complement
• For example:
For decimal number N= 546700, n= 6 and r =10
9’s complement equals:
= (rn –1) – N
= (106 –1) - 546700
= (1000000 –1) - 546700
= 999999 – 546700 = 453299
• That is, 9’s complement of a number would be same as
subtracting each digit from 9.
1’s Complement
• For example:
For binary number N= 1011, n= 4 and r =2
1’s complement equals:
= (rn –1) – N
= (24 –1) - 1011
= (10000 –1) – 1011 (24 in binary)
= 1111 – 1011= 0100
• That is, 1’s complement of a number would be same as
subtracting each digit from 1.
1’s Complement
• For a binary number 1011001, 1’s complement can be
obtained by
If you look at the result, you can see, the 1’s
complement of a binary number can be obtained by
reversing the bits.
1111111
1011001
_______
0100110
_______
r’s complement
• Given a number N in base r having n digit, the r’s
complement of N is rn –N for N < > 0 and 0 for N=0.
• Also, r’s complement is equal to:
= rn –N
= rn –N – 1 + 1 (Add and subtract 1)
= [(rn –1) –N] +1 (Rearranging the terms)
= (r-1)’s complement + 1
• For decimal numbers, there exist 10’s complement.
• For binary numbers, there exist 2’s complement.
10’s Complement
• For decimal numbers, 10’s complement of a number is
equal to its 9’s complement +1.
• For example:
10’s complement of 546700 =
= 9’s complement of 546700 + 1
= 453299 + 1
= 453300
2’s Complement
• Given a number in binary say N, having ‘n’ digits, then
2’s complement of N is defined as (2n-N), if N < > 0
else 0, when N=0
• For binary numbers, 2’s complement of a number is equal to its 1’s complement
+1.
• For example:
2’s complement of 1011 =
= 1’s complement of 1011 + 1
= 0100 +1 = 0101
Exercise
• Find the 2’s complement of 10101011
01010101
• Find the 2’ complement of 01010101
10101011
Integer Representations
• Two different representations exists for integers
• The signed representation: in that case the most
significant bit (MSB) represents the sign
o Positive number (or zero) if MSB = 0
o Negative number if MSB = 1
• The unsigned representation: in that case all the bits are
used to represent a magnitude
o It is thus always a positive number or zero
Signed and Unsigned Interpretation
• To obtain the value of a integer in memory we need to
chose an interpretation
• For example: a byte of memory containing 1111 1111
can represent either one of these numbers:
o -1 if a signed interpretation (2’s complement) is used
o 255 if an unsigned interpretation is used
Subtraction of Unsigned Numbers
• The subtraction of two n-digit unsigned numbers M – N (N < > 0) in
base r can be done as follows:
1. Add the minuend M to the r’s complement of the subtrahend N. This
performs M + (rn – N) = M – N + rn.
Case 1 : If M >= N, the sum will produce an end carry rn which is discarded,
and what is left is the result M – N.
Case 2 : If M < N, the sum does not produce an end carry and is equal to
rn – (N – M), which is the r’s complement of (N – M). To obtain the answer
in a familiar form, take the r’s complement of the sum and place a negative
sign in front.
This will equate to : rn – (rn – ( N – M)) = M - N
Subtraction of Unsigned Numbers
Case 1: Minuend > Subtrahend
• Take the r’s complement of the subtrahend.
• Add this to the minuend.
• Discard the end carry.
3456 - 2234
radix 10
3456
10’s complement of 2234 = 7766
_______
11222
1222
Discard the end carry 10000
Subtraction of Unsigned Numbers
Case 2: Minuend < Subtrahend
• Take the r’s complement of the subtrahend.
• Add this to the minuend.
• Find the r’s complement of the result and append a negative sign in front of it.
2234 - 3456
radix 10
2234
10’s complement of 3456 = 6544
_______
8778
10’s complement of 8778-1222
Subtraction of Unsigned Numbers
• In case 2, after the 10’s complement of 8778, we get 1222 only and not -1222.
• When working manually it can be noticed that the subtrahend
is > minuend and so it needs a -ve sign for the result.
• When subtracting with complements it is found that the
answer where there is no end carry and a negative sign
should be added.
Subtraction of Unsigned Numbers
• In a similar manner, the subtraction with complements is done with
binary numbers.
• For example:
X: 1010100
Y: 1000011
• To perform X – Y :
X = 1010100
2’s complement of Y = 0111101
Sum = 10010001
Discard the end carry 10000000
0010001
Exercise
Y: 1000011
X: 1010100
radix 2
Perform Y – X = ????
- 0010001
1’s Complement Subtraction
Unsigned representation
Case 1: Minuend > Subtrahend (M – N)
• Take the 1’s complement of the subtrahend.
• Add this to the minuend.
• Remove the carry and add it to the result. This is called END AROUND
CARRY.
00011101- 00011011
radix 2
00011101
1’s complement of 00011011= 11100100
_________
100000001
1
RESULT 00000010
1’s Complement Subtraction
Unsigned Representation
Case 2: Minuend < Subtrahend
• Take the 1’s complement of the subtrahend.
• Add this to the minuend.
• Find the 1’s complement of the result and append a negative sign in front of it.
00011001 - 00011101
radix 2
RESULT -00000100
00011001
1’s complement of 00011101 = 11100010 11111011
Exercise (using 1’s complement)
X: 00110011
Y: 00101101 Perform X - Y
radix 2
00000110
Signed Representation
• In signed representation, the most significant bit (MSB) represents the
sign.
• When a binary number is positive, the sign is represented by 0 and the
magnitude by a positive binary number.
• When the number is negative, the sign is represented by 1 but the rest of
the number may be represented in three possible ways.
1. Signed magnitude representation
2. Signed - 1’s complement representation
3. Signed - 2’s complement representation.
Example for Negative number
Representation• To represent -14
1. Signed magnitude representation
1 0001110
Note : This representation of – 14 is obtained from +14 by
complementing only the sign bit.
2. Signed - 1’s complement representation
1 1110001
Note : This representation of – 14 is obtained by complementing all
the bits of + 14, including the sign bit.
Example for Negative number
Representation
3. Signed - 2’s complement representation.
1 1110010
Note : This representation of – 14 is obtained by taking the 2’s
complement of +14, including the sign bit.
Advantage of 2’s Complement
System
• Representing in 2’s complement is preferred over 1’s
complement as well as signed magnitude system.
• Representing in signed magnitude is easy for manual
arithmetic processing and not for the computer.
• The reason is 1’s complement takes two representation for
+0 and -0 which is absurd.
• In 2’s complement system both -0 and +0 will have the same
representation
NOTE
1’s complement form
• + 0 in binary 00000000
• - 0 in 1’s complement form 11111111
Two representations of –0 and +0, which is absurd.
2’s complement form
• + 0 in binary 00000000
• - 0 in 2’s complement form 00000000
Same representation of +0 and –0.
END