Title: Computer Math
1Computer Math
- CPS120
- Introduction to Computer Science
- Lecture 4
2Memory 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
3Larger Units of Memory
- 1 Kilobyte
- 1 Megabyte
- 1 Gigabyte
- 1 Terabyte
- 1 Petabyte
- 1 Exabyte
- 1024 bytes
- 106 bytes
- 109 bytes
- 1012 bytes
- 1015 bytes
- 1018 bytes
32 Mb 32103 Kb 32 103 1024 bytes
32,768,000 bytes
4Representing 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 and 17,472 (10
- Longword 1,667,580,992 (10
5Alphanumeric 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)
6Number Systems
- We use the DECIMAL (10 system
- Computers use BINARY (2 or some shorthand for it
like OCTAL (8 or HEXADECIMAL (16
7Codes
- 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
8Conversions
9Decimal 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 with 0 and increasing as
you move left - Note 20, by definition is 1
- Use each superscript as an exponent of a power of
2 - Multiply the value of each bit by its
corresponding power of 2 - Add the products obtained
10Horners Method
- Another procedure to calculate the decimal
equivalent of a binary number - Note This method works with any base
- Horners 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 sum by the base
- Step 5 Continue the process until you add the
last digit
11Binary 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
12Converting 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
13Addition Subtraction Terms
- A B
- A is the augend
- B is the addend
- C D
- C is the minuend
- D is the subtrahend
14Addition 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
15Subtraction 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
16Addition 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
17Addition 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
18Representing 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
- Twos complement
- Ones complement
19Representing 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
20Comparing the Conventions
21Sign-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 N1 to 2 N-1 -1
22Sign-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 n1 to
2 n-1 1, an overflow results
23Ones 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
24One'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
25Twos 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
26Twos 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
27Overflows in Twos Complement
- The range of values in twos-complement is 2
n1 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
28Transmission 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
29Categorizing 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
30Error Detection Even Parity
- Bytes Transmitted
- 01100011
- 11100001
- 01110100
- 11110011
- 00000101 Parity Block
- B
- I
- T
- Bytes Received
- 01100011
- 11100001
- 11111100
- 11110011
- 00000101 Parity Block
- B
- I
- T