Introduction to Computer Science1

Download Report

Transcript Introduction to Computer Science1

Computer Math

CPS120 Introduction to Computer Science Lecture 7

Memory Units

      1 nibble 1 byte 1 word 1 long word 1 quad word 1 octa-word       4 consecutive bits 8 consecutive bits 2 consecutive bytes 4 consecutive bytes 8 consecutive bytes 16 consecutive bytes

Larger Units of Memory

      1 Kilobyte 1 Megabyte 1 Gigabyte 1 Terabyte 1 Petabyte 1 Exabyte       1024 bytes ~10 6 ~10 9 bytes bytes ~10 12 ~10 15 ~10 18 bytes bytes bytes 32 Mb = 32*10 3 Kb = 32 * 10 3 *1024 bytes = 32,768,000 bytes

Representing Data

 The computer knows the type of data stored in a particular location from the context in which the data are being used;  i.e. individual bytes, a word, a longword, etc  01100011 01100101 01000100 01000000    Bytes: 99 (10 , 101 (10 , 68 (10 , 64 (10 Two byte words: 24,445 (10 and 17,472 (10 Longword: 1,667,580,992 (10

Alphanumeric Codes

  American Standard Code for Information Interchange (ASCII)  7-bit code    Since the unit of storage is a bit, all ASCII codes are represented by 8 bits, with a zero in the most significant digit H e l l o W o r l d 48 65 6C 6C 6F 20 57 6F 72 6C 64 Extended Binary Coded Decimal Interchange Code (EBCDIC)

Number Systems

 

We use the DECIMAL

(10

system Computers use BINARY

(2

or some shorthand for it like OCTAL

(8

or HEXADECIMAL

(16

Codes

  Given any positive integer base (RADIX) N, there are N different individual symbols that can be used to write numbers in the system. The value of these symbols range from 0 to N-1 All systems we use in computing are positional systems  495 = 400 + 90 +5

Conversions

Decimal

0 1 2 3 11 12 13 14 4 5 6 7 8 9 10

Binary

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110

Octal

0 1 2 3 13 14 15 16 4 5 6 7 10 11 12

Hex

0 1 2 3 B C D E 8 9 A 4 5 6 7

Decimal Equivalents

 Assuming the bits are unsigned , the decimal value represented by the bits of a byte can be calculated as follows: 1.

2.

3.

Number the bits beginning on the right superscripts beginning with 0 you move left using and increasing as •

Note: 2 0, by definition is 1

Use each superscript as an exponent of a power of 2 Multiply the value of each bit by corresponding power of 2 its 4.

Add the products obtained

Horner’s Method

  Another procedure to calculate the decimal equivalent of a binary number 

Note: This method works with any base

Horner’s Method:  Step 1: Start with the first digit on the left     Step 2: Multiply Step 3: Add the it by next the base digit Step 4: Multiply the sum by the base Step 5: Continue the process until you add the last digit

Binary to Hex

  Step 1: Form four-bit groups beginning from the right most bit of the binary number  If the last group (at the leftmost position) has less than four bits, add extra zeros to the left of the group to make it a four-bit group   0110011110101010100111 becomes 0001 1001 1110 1010 1010 0111 Step 2: Replace each four-bit group by hexadecimal equivalent  19EAA7 (16 its

Converting Decimal to Other Bases

    Step 1: Divide the are converting to ( number by the r ) base you Step 2: Successively divide ( r the quotients ) until a zero quotient is obtained by Step 3: The decimal equivalent is obtained by writing the remainders of the successive division in the opposite order in which they were obtained  Know as modulus arithmetic Step 4: Verify the result by multiplying it out

Addition & Subtraction Terms

  A + B   A is the augend B is the addend C – D   C is the minuend D is the subtrahend

Addition Rules – All Bases

Addition    Step 1: Add a column of numbers Step 2: Determine if there is a single symbol for the result Step 3: If so, write it and go to the next column. If not , write the accompanying number and carry the appropriate value to the next column

Subtraction Rules – All Bases

    Step1: Start with the right most column, if column of the minuend is greater the subtrahend, do the subtraction , if not … the than that of Step 2: Borrow one unit from the digit to the left of the once being processed  The borrowed unit is equal to “borrowing” the radix Step 4: Decrease the column borrowed by one form which you Step 3: Subtract the subtrahend from the minuend and go to the next column

Addition of Binary Numbers

     Rules for adding or subtracting very similar to the ones in decimal system  Limited to only two digits 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 carry 1

Addition & Subtraction of Hex

   Due to the propensity for errors in binary, it is preferable to carry out arithmetic in hexadecimal and convert back to binary If we need to borrow in hex, we borrow 16 It is convenient to think “in decimal” and then translate the results back to hex

Representing Signed Numbers

  Remember, all numeric data is represented inside the computer as 1s and 0s  Arithmetic operations, particularly subtraction raise the possibility that the result might be negative Any numerical convention needs to differentiate two basic elements of any given number, its sign and its magnitude  Conventions    Sign-magnitude Two’s complement One’s complement

Representing Negatives

   It is necessary to choose one of the bits of the “basic unit” as a sign bit  Usually the leftmost bit  By convention, 0 is positive and 1 is negative Positive values have the same representation in all conventions However, in order to interpret the content of any memory location correctly, it necessary to know the convention being used used for negative numbers

Comparing the Conventions

Bit Pattern

000 001 010 011 100 101 110 111

Unsigned

0 1 2 3 4 5 6 7

Sign Magnitude

0 1 2 3 -0 -1 -2 -3

1's 2's Complement Complement

0 0 1 2 3 -3 -2 -1 -0 1 2 3 -4 -3 -2 -1

Sign-Magnitude

   For a basic unit of N bits, the leftmost bit sign is used exclusively to represent the The remaining the magnitude (N-1) bits are used for The range of number represented in this convention is –2 N+1 to +2 N-1 -1

Sign-magnitude Operations

 Addition of two numbers in sign-magnitude is carried out using the usual conventions of binary arithmetic    If both numbers are the same sign , we add magnitude and copy the same sign If the result is outside the bounds of –2 n+1 n-1 –1, an overflow results their If different signs larger , determine which number has the magnitude and subtract the other from it . The sign of the result is the sign of the operand with the larger magnitude to +2

Two’s Complement Convention

  – – A positive number is represented using a procedure similar to sign-magnitude To express a negative number 1.

Express the absolute value of the number in binary 2.

3.

Change all the zeros to ones and all the ones to zeros (called “ complementing the bits ”) Add one to the number obtained in Step 2 The range of negative numbers is one larger than the range of positive numbers Given a negative number , to find its positive counterpart, use steps 2 & 3 above

Two’s Complement Operations

  Addition:   Treat the numbers as unsigned integers  The sign bit is treated as any other number Ignore any carry on the leftmost position Subtraction  Treat the numbers as unsigned integers  If a "borrow" is necessary in the leftmost place, borrow as if there were another “invisible” one-bit to the left of the minuend

Overflows in Two’s Complement

   The 2 n+1 range of values in two’s-complement is – to +2 n-1 –1 Results outside this band are overflows In all overflow conditions, the the operands sign of the result of the operation is different than that of  If the operands are positive , the result is negative  If the operands are negative , the result is positive

One’s Complement

   Devised to make the addition numbers with different signs of two the two numbers with the same sign same as Positive numbers are represented in the usual way For negatives   STEP 1: Start with the binary representation of the absolute value STEP 2: Complement all of its bits

One's Complement Operations

  Treat the sign bit as any other bit For addition, carry out of the leftmost bit is added to the rightmost bit – end-around carry

Binary & Alphanumeric Codes

 A binary code is a group of n bits that assume up to 2 n distinct combination s of 1’s and 0’s with each combination representing one element of the set that is being coded- i.e. permutations   With two elements bits With three we can form a set of bits we can represent 8 four elements  With four bits we can represent 16 elements

Weighted Codes

  A sequence of binary digits representing a decimal digit is called a code word  The code with weights 8, 4, 2, 1 is know as the Binary-Coded-Decimal (BDC) code  Another code could be weighted 2-4-1-2 Some codes are not unique decimal numbers  in representing These codes cannot be used interchangeably  The correct code is self-complementing  The value of 9-N can be obtained by complementing the bits of the code

Transmission Errors

 When binary data is transmitted, there is a possibility of an error in transmission due to equipment failure or " noise "  Bits change from 0 to 1 or vice-versa

Categorizing Coding Schemes

 The number of bits that have to change within a byte before it becomes invalid characterizes the code   Single-error-detecting code  To detect single errors have occurred we use an added

parity check bit

even or odd

makes each byte either Two-error-detecting code

Transformations

  The

minimum distance

number of bits that need to change in a code word to result another valid code word of a code is the Some codes are self-correcting (

error correcting code

)

Error Detection: Even Parity

      Bytes Transmitted 0 1100011 1 1100001 0 1110100 1 1110011 0 0000101 Parity Block B I T       Bytes Received 0 1100011 1 1100001

1

111

1

100 1 1110011 0 000 0 101 Parity Block B I T

Hamming Code

 This method of multiple-parity checking can be used to provide multiple-error detection