750 likes | 915 Vues
This guide explains how digital computers represent information using the binary number system. Featuring the fundamental concepts of binary, octal, and hexadecimal formats, it covers the definitions of bits, conversions between different number bases, and the significance of the most and least significant bits. It provides clear examples of converting numbers to and from decimal, octal, and hexadecimal formats, alongside binary arithmetic operations. Ideal for students, educators, and anyone interested in the core mechanisms of computer data representation.
E N D
DATA REPRESENTATION Digital computers store information in binary Binary allows two states * On yes true 1 * Off no false 0 Each digit in a binary number is called a bit 0 1 1 0 bit 0ff 0n 0n 0ff Binary number system == how numbers can be processed in binary CAP221
Binary Numbers • Digits are 1 and 0 • 1 = true • 0 = false • MSB – most significant bit • LSB – least significant bit • Bit numbering: CAP221
Number system • A number system of base (radix) r is a system that uses distinct symbol for r digits. • Numbers are represented by a string of digit symbols. CAP221
Number system • The base of a number is usually specified as a subscript, e.g.: • (01000011)2, • (71203)8, • (FF078ABC)16, ...etc. • Or a letter indicating the base (d for decimal, b for binary, o for octal and h for hexadecimal) is appended to the number, e.g.: • 01000011b, • 71203o, • FF078ABCh, ...etc. CAP221
Number system CAP221
Number system • The value of a digit depends not only on its value but also on its position within the number → gives the power of the radix by which it is multiplied. CAP221
Example 2 10 -1 -2 • 379.25= 3*10 + 7*10 + 9*10+2*10+5*10 n n-1 • (dndn-1...d0.f1f2…fm)r = dn* ( r ) + dn-1* ( r ) +….+ 0 -1 -2 -m d0* ( r ) + f1* ( r ) + f2* ( r ) +…+ fm* ( r ) Converting to decimal CAP221
Examples on converting from different bases to Decimal Convert the following to Decimal: • (1001001)2 • (203)8 • (FA07)16 Solution: • (1001001)2 = 1 + 0*21 + 0*22 + 1*23 + 0*24 + 0*25 + 1*26 = 73d • (203)8 = 3 + 0*81 + 2*82 = 131d • (FA07)16 = 7 + 0*161 + 10*162 + 15*163 = 64007d CAP221
Conversion from decimal • The conversion of a decimal integer into a base r is done by: • Whole numbers: divisions by r • Fractions: repeated multiplication by r. CAP221
Conversion from decimal To convert from decimal to any numbering system with base r : • The decimal number is divided by r, • Keeping the remainder aside, the result is further divided by r, and the new remainder is kept aside, • The new result is divided again by r, and so on till the result is less than r and this would be the last remainder, • The remainders make up the equivalent base-r number, with the last remainder being the most-significant digit and the first remainder being the least-significant digit. CAP221
Conversion to binaryWhole number • Ex.: (67)10 = (?)2 2 67 2 33 rem 1 LSB 2 16 rem 1 2 8 rem 0 2 4 rem 0 67d= 10000112 2 2 rem 0 2 1 rem 0 0 rem 1 MSB CAP221
Fraction Repeat multiplication by 2 until the fractional product is 0 Ex.: (0.3125)10 = (?)2 Carry 0.3125* 2 = 0.625 0 MSB 0.625* 2 = 1.25 1 (0.3125)10= (0.0101)2 0.25* 2 = 0.5 0 0.5* 2 = 1.00 1 LSB CAP221
Conversion to base r (50) 10 = (?)8 8 50 8 6 2 8 0 6 (50)10 = (62)8 CAP221
Octal and Hexadecimal number systems • Binary numbers are long. • On average, it takes about 3.3 times as many digits to represent a value in binary as it does to represent the same value in decimal. CAP221
Octal and Hexadecimal number systems If a base R1 is an integral power of d another base R2 i.e. R1= R2 → Group of d digits in base R2 maps directly into one digit in base R1 And each digit in base R1 maps directly into d digits in base R2. CAP221
Octal number systems 3 Base = 8 = 2 → d = 3 Digits: 0 → 7 Binary to Octal conversion: Group every 3 bits (starting from the right) Replace them by their corresponding octal digit Ex.: ( 0 1 0 1 1 0 1 0 1 )2 = ( 265 )8 ( 1 0 0 0 1 )2 = ( 21 )8 CAP221
Octal to binary conversion • Replace each digit by its 3-bit binary equivalent. • Ex.: (476)8 = (100111110)2 CAP221
Octal to binary conversion CAP221
Binary – Octal conversion table BinaryOctalBinaryOctal 000 0 001000 10 001 1 010000 20 010 2 011 3 100 4 101 5 110 6 111 7 CAP221
Hexadecimal number systems (Hex) 4 Base = 16 = 2 → d = 4 Digits: 0,1,2,…..,9,A,B,C,D,E,F Where A = 10, B = 11, C = 12, D = 13, E = 14, F = 15 CAP221
Binary to Hex conversion Group each 4 bits and replace them by their corresponding hex digit. Ex.: (1 0 1 1 0 1 0 1 )2 = ( B5 )16 CAP221
Hex to binary conversion Replace each digit by their 4 bit binary equivalent Ex.: ( 1D9C )16 = (0001110110011100 )2 CAP221
Hex to binary conversion CAP221
Binary – Hexadecimal conversion table BinaryHexBinaryHex 0000 0 1000 8 0001 1 1001 9 0010 2 1010 A 0011 3 1011 B 0100 4 1100 C 0101 5 1101 D 0110 6 1110 E 0111 7 1111 F (00010100)2 → (14)16 → ( 20 )10 (12.8)16 →(00010010.1000)2 → (18.5)10 CAP221
Binary Arithmetic operations • Addition 0+0 = 0 0+1 = 1 1+0 = 1 1+1 = 10 (carry) CAP221
Binary Arithmetic operations • Subtraction 0 - 0 = 0 0 - 1 = 1 (after borrowing) 1 - 0 = 1 1 - 1 = 0 CAP221
Binary Arithmetic operations • Multiplication 0*0 = 0 0*1 = 0 1*0 = 0 1*1 = 1 CAP221
ADDITION • Like decimal numbers, two numbers can be added by adding each pair of digits together with carry propagation. CAP221
Example Carries CAP221
SUBTRACTION • Two numbers can be subtracted by subtracting each pair of digits together with borrowing, where needed. CAP221
SUBTRACTION CAP221
Representation of signed binary numbers • Given a fixed number of bit positions (n), we n can represent 2 patterns: From (00..0)2 to (11..1)2. • Using unsigned numbers we can represent n 0 → 2 -1 n • Using signed numbers → 2 positive & negative patterns CAP221
Complementary notations • The most commonly used way of representing signed numbers. It greatly simplifies all arithmetic operations. • Positive number is represented as it is (like an unsigned positive number). • Negative numbers are represented by the complement of unsigned number. CAP221
Complementary notations • The value used for complementation is a power of the base or less one than a power of the base. • For binary numbers: we have 2’s complement and 1’s complement. • For decimals, we have 10’s complement and 9’s complement. • For hex. Numbers we have 16’s complement and F’s (15’s) complement. CAP221
One’s complement • Is obtained by subtracting the number from (11..1)2 (n 1’s) → reversing each bit: changing every 1 to 0 and every 0 to 1. • Ex.: represent +(14d), -(14d) in 8-bit binary number • (+14)10 = ( 00001110)2 = (00001110)1s • (-14)10 = -( 00001110)2 = (11110001)1s CAP221
For 8-bits number system: • Largest positive number: 0 1111111 = +(127)10 • smallest negative number: 1 0000000 = - (127)10 • Zeroes: 0 0000000 1 1111111 • Range: m-1 m-1 - (2 -1) to + 2 -1 (m : the number of bits) • -(127)10 to +(127)10 • The most significant bit represents the sign: 0 = +ve ; 1 = -ve. CAP221
2’s complement • Take the 1’s complement and add 1 → invert all the bits and add 1. • Ex.: 2’s complement of (01110100)2: 1’s complement = (10001011)2 add 1 → 2’s complement = (10001100)2 CAP221
2’s complement • 2’s complement of (00000000)2: 1’s complement = (11111111)2 add 1 → (100000000)2 • 2’s complement of n-bit number include only the rightmost n bits: 2’s complement of (00000000)2 = (00000000)2 CAP221
2’s complement - For 8-bit binary numbers 2’s complement of (5)d = (00000101)2: 1’s complement = (11111010)2 add 1→ (11111011)2 510 + (-5)10 → 000001012 + 111110112 = 1000000002 Carry 2’s complement of any N integer represents –N: N + (-N) = 0 CAP221
2’s complement • To find the 2’s complement of a binary number, proceeding from right to left, leave all bits unchanged up to and including the first `1`. Reverse all the remaining bits. • Range of signed value that can be represented in 2’s complemented notation is m-1 m-1 - 2 to 2 -1 CAP221
For 8-bits number system: • Largest positive number: 0 1111111 = +(127)10 • smallest negative number: 1 0000000 = - (128)10 • Zero: 0 0000000 • Range: -(128)10 to +(127)10 • The most significant bit represents the sign: • 0 = +ve ; 1 = -ve. CAP221
2’s complement in hexadecimal • Each group of four bits corresponds to a single hexadecimal digit. • Subtract each hexadecimal digit from F and then add 1 (equivalent of taking the 16’s complement). CAP221
Ex.: 2’s complement of (3A6E)16 1’s complement: FFFF - 3A6E C591 + 1 2’s complement: (C592)16 CAP221
Comparing 2’s complement numbers Check the signs: If they differ, they determine the order If they are the same, the order of the numbers is the same as that of their representations. CAP221
Ex.: (01001100)2 and (10100101)2 Different signs → the 1st # is +ve the 2nd # is –ve → 1st # > 2nd # CAP221
(10110010)2 and (10111001)2 • Both numbers are negative: 1st # < 2nd # CAP221
Signed binary arithmetic Overflow • Signed binary numbers are of a fixed range. • If the result of addition/subtraction goes beyond this range, overflow occurs. • Two conditions under which overflow can occur are: (i) positive add positive gives negative (ii) negative add negative gives positive CAP221
2s complement addition Algorithm: • Perform binary addition on the two numbers. • Ignore the carry out of the MSB. • Check for overflow: Overflow occurs if the carriers into and out of the MSB are different. CAP221