300 likes | 315 Views
This lecture covers the concepts of nibble, byte, word, and memory units in computer science. It also discusses alphanumeric codes, number systems, conversions, addition and subtraction rules, representation of signed numbers, and more.
E N D
Computer Math CPS120 Introduction to Computer Science Lecture 4
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 Memory Units
1 Kilobyte 1 Megabyte 1 Gigabyte 1 Terabyte 1 Petabyte 1 Exabyte 1024 bytes ~106 bytes ~109 bytes ~1012 bytes ~1015 bytes ~1018 bytes Larger Units of Memory 32 Mb = 32*103 Kb = 32 * 103 *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: 25,445 (10 and17,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
Decimal Equivalents • Assuming the bits are unsigned, the decimal value represented by the bits of a byte can be calculated as follows: • Number the bits beginning on the right using superscripts beginning with0 and increasing as you move left • Note: 20, by definition is 1 • Use each superscript as an exponent of a power of2 • Multiply the value of each bit by its corresponding power of 2 • 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 it by the base • Step 3: Add the next digit • Step 4: Multiply the sumby 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 rightmost 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 its hexadecimal equivalent • 19EAA7(16
Converting Decimal to Other Bases • Step 1: Divide the number by the base you are converting to (r) • Step 2: Successively divide the quotients by (r) until a zero quotient is obtained • 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 asingle 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 rightmost column, if the column of the minuend is greater than that of the subtrahend, do the subtraction, if not… • 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 form which you borrowed by one • 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
Sign-Magnitude • For a basic unit of N bits, the leftmost bit is used exclusively to represent the sign • The remaining (N-1) bits are used for the magnitude • 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 their magnitude and copy the same sign • If different signs, determine which number has the larger magnitude and subtract the other from it. The sign of the result is the sign of the operand with the larger magnitude • If the result is outside the bounds of –2 n+1 to +2 n-1 –1, an overflow results
One’s Complement Convention • Devised to make the addition of two numbers with different signs the same as two numbers with the same sign • 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
Two’s Complement Convention • A positive number is represented using a procedure similar to sign-magnitude • To express a negative number • Express the absolute value of the number in binary • 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 range of values in two’s-complement is –2 n+1 to +2 n-1 –1 • Results outside this band are overflows • In all overflow conditions, the sign of the result of the operation is different than that of the operands • If the operands are positive, the result is negative • If the operands are negative, the result is positive
Transmission Errors • When binary data is transmitted, there is a possibility of an error in transmission due to equipment failure or "noise" • Bits change from0 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 – makes each byte either even or odd • Two-error-detecting code
Bytes Transmitted 01100011 11100001 01110100 11110011 00000101Parity Block B I T Bytes Received 01100011 11100001 11111100 11110011 00000101Parity Block B I T Error Detection: Even Parity