1 / 42

HEXADECIMAL NUMBERS Code

WRITING one’s and zero’s can be error prone when dealing with large numbers. IBM came up with the following method of dealing with these numbers. BASE 16 with digits 0 - 15 in base 10 are represented by the following notation in Hexadecimal. 0 16 = 0000 2 = 0 10 8 16 = 1000 2 = 8 10

tamal
Télécharger la présentation

HEXADECIMAL NUMBERS Code

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WRITING one’s and zero’s can be error prone when dealing with large numbers. IBM came up with the following method of dealing with these numbers. BASE 16 with digits 0 - 15 in base 10 are represented by the following notation in Hexadecimal. 016 = 00002 = 010 816 = 10002 = 810 116 = 00012 = 110 916 = 10012 = 910 216 = 00102 = 210 A16 = 10102 = 1010 316 = 00112 = 310 B16 = 10112 = 1110 416 = 01002 = 410 C16 = 11002 = 1210 516 = 01012 = 510 D16 = 11012 = 1310 616 = 01102 = 610 E16 = 11102 = 1410 716 = 01112 = 710 F16 = 11112 = 1510 HEXADECIMAL NUMBERSCode

  2. EXAMPLEConvert A716 to binary Note: This is easy because of the relationship between the two bases A = 1010 7 = 0111 Therefore 0A7H or $A7 = 10100111 Note leading 0 before A. Since this is a number a different base than base 10, absence of the zero may confuse a compiler. Therefore it is customary to add the leading 0 to any hex character that begins with a letter of the alphabet(A,B,C,D,E,F) !! These are NUMBERS in base 16 !! Base 16 Conversion

  3. Similar Rules as to those in binary to decimal Convert to binary then weighted multiplication -OR- Leave in HEX and use HEX multiplication EXAMPLE (repeated multiplication) $F8E6H = F(16)3 + 8 (16)2 + E(16)1 + 6(16)0 = 15(16)3 + 8 (16)2 + 14(16)1 + 6(16)0 = 61,440 + 2048 + 224 +6 = 63,718 HEXADECIMAL TO DECIMAL

  4. Similar Rules as to those in decimal to binary Repeated HEX division EXAMPLE (repeated division) Divisors are for 16 binary digits (4 HEX) 247910 = 2479/16 = 154 remainder 15 or F 154/16 = 9 remainder 10 or A 9/16 = 9 remainder 9 or 9 Answer = 9AFH DECIMAL TO HEXADECIMAL

  5. Same EXAMPLE (but weighted division) Divisors are for 16 binary digits (4 HEX) 4096, 256, 16, 1 247910 = 2479/256 = 9 remainder .68359375 x256 = 175/16 = 10 or A remainder .9375 x 16 = 15/1 = 15 or F Answer = 9AFH DECIMAL TO HEXADECIMALALTERNATE

  6. DECIMAL 8421 BINARY0 0000 0000 1 0001 0001 2 0010 0010 3 0011 0011 4 0100 0100 5 0101 0101 6 0110 0110 7 0111 0111 8 1000 1000 9 1001 1001 10 0001 0001 1010 11 0001 0010 1011 .... 98 1001 1000 1100010 99 1001 1001 1100011 7421 6311 5421 5311 5211 0000 0000 0000 0000 0000 0001 0001 0001 0000 0001 0010 0011 0010 0011 0011 0011 0100 0011 0100 0101 0100 0101 0100 0101 0111 0101 0111 1000 1000 1000 0110 1000 1001 1001 1001 1000 1001 1010 1011 1011 1001 1011 1011 1100 1101 1010 1100 1100 1101 1111 BINARY CODES BCD 4 Bit BCD CODES

  7. Decimal 4221 3321 2421 84/2/1 74/2/1 0 0000 0000 0000 0000 0000 1 0001 0001 0001 0111 0111 2 0010 0010 0010 0110 0110 3 0011 0011 0011 0101 0101 4 1000 0101 0100 0100 0100 5 0111 1010 1011 1011 1010 6 1100 1100 1100 1010 1001 7 1101 1101 1101 1001 1000 8 1110 1110 1110 1000 1111 9 1111 1111 1111 1111 1110 MORE 4-BIT BCD CODES The / is subtract weight

  8. Decimal 2-out of-5 63210 Shift-Counter 86421 51111 0 00011 00110 00000 00000 00000 1 00101 00011 00001 00001 00001 2 00110 00101 00011 00010 00011 3 01001 01001 00111 00011 00111 4 01010 01010 01111 00100 10000 5 01100 01100 11111 00101 10000 6 10001 10001 11110 01000 11000 7 10010 10010 11100 01001 11100 8 10100 10100 11000 10000 11110 9 11000 11000 10000 10001 11111 5-BIT CODES

  9. Alphanumeric Codes ASCII CODE 7 BITS EBCDIC CODE 8 BITS UNICODE 16 Bits OTHER CODES

  10. ASCII CODEPart 1

  11. ASCII CODECONTROL CODES

  12. EBCDICPart I

  13. EBCDICPART II

  14. UNICODE 16 BIT CODE First Page 0000H - 00FFH Same as ASCII Has not been standardized the remaining 0FFFFH minus 00FFH available for all remaining countries and languages!

  15. Three major schemes: sign and magnitude ones complement twos complement nines complement tens complement Assumptions: we'll assume a 4 bit machine word 16 different values can be represented roughly half are positive, half are negative Number Systems Representation of Negative Numbers

  16. Number Systems Sign and Magnitude Representation High order bit is sign: 0 = positive (or zero), 1 = negative Three low order bits is the magnitude: 0 (000) thru 7 (111) Number range for n bits = +/-2 -1 Representations for 0 Two +/- n-1

  17. Subtraction implemented by addition & 1's complement Still two representations of 0! This causes some problems Some complexities in addition Number Systems Ones Complement

  18. Only one representation for 0 One more negative number than positive number Number Representations Twos Complement like 1's comp except shifted one position clockwise

  19. RULES FOR ADDITION 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 + carry 1 to next column RULES FOR SUBTRACTION 0 - 0 = 0 0 - 1 = 1 and borrow from next column 1 - 0 = 1 1 - 1 = 0 Borrowing 1 from next column is equivalent to subtracting 1 from that column BINARY ARITHMETIC

  20. EXAMPLEADD 1010 to 1101 1010 + 1101 10111 SUBTRACT 1010 from 1101 borrow 4 subtract 2 1101 nothing in 4 position - 1010 0011 Addition

  21. Number Representations Addition and Subtraction of Numbers Sign and Magnitude 4 + 3 7 0100 0011 0111 -4 + (-3) -7 1100 1011 1111 When signs is same, result sign bit is the same as the operands' sign. Just add magnitudes When signs differ, operation is subtract, sign of result depends on sign of number with the larger magnitude. This is what we do in base 10. 4 - 3 1 0100 1011 0001 -4 + 3 -1 1100 0011 1001

  22. Cumbersome addition/subtraction. Must compare magnitudes to determine the sign of result. Number Systems Sign and Magnitude

  23. The symbol N, with a bar over it, is used to represent the complement. Also used to indicate inversion are /, ‘, or ! (CUPL and ABEL) N is positive number, then N is its negative 1's complement. N is the precision, as many 1’s as required. Binary can be any precision, but BCD requires 4 bits. 4 2 = 10000 -1 = 00001 1111 -7 = 0111 1000 To find 1's complement of 7 = -7 in 1's comp. Ones Complement Precision 4 bits Therefore, The general formula for finding /N = (2n - 1) - N

  24. 4 2 = 10000 -1 = 00001 1111 -0 = 0000 1111 To find 1's complement of 0 = -0 in 1's comp. Ones ComplementZERO Applying the general formula /N = (2n - 1) - N NOTE: The complement of 0 is 1111, which means, there are 2 representations of 0. 0000 Positive 0 1111 Negative 0

  25. SHORTCUT1’s Complement Shortcut method: Replace all 0’s with 1’s, and all 1’s with 0’s simply compute bit wise complement 7 in 1’s complement 0111 -> 1000

  26. Number Systems Addition and Subtraction of Numbers Ones Complement Calculations 4 + 3 7 0100 0011 0111 -4 + (-3) -7 1011 1100 10111 1 1000 End around carry 4 - 3 1 0100 1100 10000 1 0001 -4 + 3 -1 1011 0011 1110 End around carry

  27. Number Systems Addition and Subtraction of Binary Numbers Ones Complement Calculations Why does end-around carry work? Its equivalent to subtracting 2 and adding 1 n For (M > N) M - N = M + / N = M + (2n - N -1) = (M - N) + 2n - 1 For M + N < 2n-1 -M + (-N) = M + N = (2n - M - 1) + (2n - N - 1) = 2n + [2n - 1 - (M + N)] - 1 after end around carry the -1 is canceled if a carry, else not: = 2n - 1 - (M + N) this is the correct form for representing -(M + N) in 1's complement!

  28. 4 2 = 10000 7 = 0111 1001 = represents -7 4 2 = 10000 -0 = 0000 0000 = 0 sub Number SystemsTwo’s Complement Numbers /N = 2n - N Note: subtract number immediately. sub Example: Twos complement of 7 Example: Twos complement of 0 Only 4bits can represent number. The most significant 1 is dropped! Shortcut method Number 1: Twos complement =1’s complement + 1 0111 -> 1000 + 1 -> 1001 (representation of -7) 1001 -> 0110 + 1 -> 0111 (representation of 7)

  29. SHORTCUT Shortcut method Number 2: Starting from the right, least significant bit, if 0 leave unchanged. Continue from right to left, if 0, no change. When the first 1 is encountered, we leave it unchanged, but complement each digit to the left. 710 = 01112 Apply method 10012 = -710 . 6810 = 011001002 yields 100111002 . The lead 0 is important so that the number to be converted is positive! In base 10, the - sign does that for us. With only on and off (0,1) we need this extra bit of information to describe the signed number. -6810 = 10011100 yields 011001002 = + 6810

  30. Number Systems Addition and Subtraction of Binary Numbers Twos Complement Calculations 4 + 3 7 0100 0011 0111 -4 + (-3) -7 1100 1101 11001 4 - 3 1 0100 1101 10001 -4 + 3 -1 1100 0011 1111 Simpler addition scheme makes twos complement the most common choice for integer number systems within digital systems

  31. Number Systems Addition and Subtraction of Binary Numbers Twos Complement Calculations Why can the carry-out be ignored? -M + N when N > M: n n M* + N = (2 - M) + N = 2 + (N - M) n Ignoring carry-out is just like subtracting 2 n-1 -M + -N where N + M < or = 2 n n -M + (-N) = M* + N* = (2 - M) + (2 - N) = 2 - (M + N) + 2 n n After ignoring the carry, this is just the right twos compl. representation for -(M + N)!

  32. Number Systems Overflow Conditions Add two positive numbers to get a negative number or two negative numbers to get a positive number -1 -1 +0 +0 -2 -2 1111 0000 +1 1111 0000 +1 1110 1110 0001 0001 -3 -3 +2 +2 1101 1101 0010 0010 -4 -4 1100 +3 1100 +3 0011 0011 -5 -5 1011 1011 0100 +4 0100 +4 1010 1010 -6 -6 0101 0101 +5 +5 1001 1001 0110 0110 -7 -7 +6 +6 1000 0111 1000 0111 +1=6 (ok) -8 -8 +7 +7 +2=7 (ok) +3=-8 (error) -7 - 2 = +7 4 bit representation 3 bits + sign in msb range -8 to +7 5 0101 +3 0011 -8 1000

  33. OVERFLOW If carry-in (penultimate) is added to sign bit and there is a carry-out then no overflow. if carry-in differs from carry-out then overflow This is true for both 1’s and 2’s complement addition.

  34. 0 1 1 1 carry 0 1 0 1 0 0 1 1 1 0 0 0 1 0 0 0 carry 1 0 0 1 1 1 1 0 1 0 1 1 1 5 3 -8 -7 -2 7 0 0 0 0 carry 0 1 0 1 0 0 1 0 0 1 1 1 1 1 1 1 carry 1 1 0 1 1 0 1 1 1 1 0 0 0 5 2 7 -3 -5 -8 No overflow No overflow Number Systems Overflow Conditions Example is using 2’s Complement Overflow Overflow Note: the carry and penultimate carry are not the same! This can be very easily implemented in hardware. XOR Overflow when carry in to sign does not equal carry out

  35. BCD Addition BCD Number Representation Decimal digits 0 thru 9 represented as 0000 thru 1001 in binary Addition: 5 = 0101 3 = 0011 1000 = 8 5 = 0101 8 = 1000 1101 = 13! Problem when digit sum exceeds 9 Solution: add 6 (0110) if sum exceeds 9. 5 = 0101 8 = 1000 1101 6 = 0110 1 0011 = 1 3 in BCD 9 = 1001 7 = 0111 1 0000 = 16 in binary 6 = 0110 1 0110 = 1 6 in BCD

  36. BCD Subtractin Must use 10’s complement To find 10’s complement, first generate 9’s complement by subtracting The number from 9. If n = 9, 9-9 =0 9’s complement of 9 is 0 or 0000 If n = 8, 9-8 =1 9’s complement of 8 is 1 or 0001 If n = 7, 9-7 =2 9’s complement of 7 is 2 or 0010 If n = 6, 9-6 =3 9’s complement of 6 is 3 or 0011 If n = 5, 9-5 =4 9’s complement of 5 is 4 or 0100 If n = 4, 9-4 =5 9’s complement of 4 is 5 or 0101 If n = 3, 9-3 =6 9’s complement of 3 is 6 or 0110 If n = 2, 9-2 =7 9’s complement of 2 is 7 or 0111 If n = 1, 9-1 =8 9’s complement of 1 is 8 or 1000 If n = 0, 9-0 =9 9’s complement of 0 is 9 or 1001 Add 1 to 9’s complement to find 10’s complement.

  37. Example of BCD Subtract To subtract 2 from 5, find 10’s complement of 2 which is 10002 4 Bit Representation. 5 5 0101 -2 8 1000 3 1 3 1101 The 1 carry, is normal form and indicates answer is 3. In binary, 1001 is exceeded! Must add 6 to correct. Known as BCD adjust. 0110 1 0011 The 1 carry is normal form answer is 3 base 10.

  38. Addition Examples4 BITS signed andunsigned

  39. Addition Examples4 BITS signed andunsigned

  40. Excess-3 code is another important BCD Code. To encode a decimal number, add 3 to each digit before converting to binary. EXAMPLE (Note: 2 digits represented by 2 4 bit numbers) 12 to excess-3 = 1+3=4 2+3=5 4 5 0100 0101 29 to excess-3 = 2+3=5 9+3=12 5 12 0101 1100 Excess 3 Code

  41. In excess-3 addition, whenever we add two numbers whose sum is 9 or less, an excess-6 number is formed. To return to excess-3 we must subtract 3. EXAMPLE 2 +5 = 7 0101 2 1000 5 1101 excess-6 - 0011 1010 excess-3 equivalent of 7 EXAMPLES OF EXCESS ADDITION CASE 1

  42. In excess-3 addition, whenever we add two numbers whose sum is greater than 9, there will be a carry from one group to the next. When this happens, the group that produced the carry will revert to 8421 (BCD). To return to excess-3 we must subtract 3 from that group. EXAMPLE 0 1 carry not carried to 10’s because of sum 29 0101 1100 excess-3 for 29 + 39 0110 1100 excess-3 for 39 68 1100 1000 first result - 0011 + 0011 subtract less than 9, add 3 1001 1011 excess-3 for 68 EXAMPLES OF EXCESS ADDITION CASE 2

More Related