Introduction to Computer Science1
Download
Report
Transcript Introduction to Computer Science1
Computer Math
CPS120
Introduction to Computer Science
Lecture 4
Memory Units
1
1
1
1
1
1
nibble
byte
word
long word
quad word
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
1
1
1
1
1
Kilobyte
Megabyte
Gigabyte
Terabyte
Petabyte
Exabyte
1024 bytes
~106 bytes
~109 bytes
~1012 bytes
~1015 bytes
~1018 bytes
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 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
4
5
6
7
8
9
10
11
12
13
14
Binary
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
Octal
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
Hex
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
Decimal Equivalents
Assuming the bits are unsigned, the
decimal value represented by the bits of
a byte can be calculated as follows:
1.
Number the bits beginning on the right using
superscripts beginning with 0 and increasing as
you move left
•
2.
3.
4.
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
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
Step
Step
Step
Step
digit
1:
2:
3:
4:
5:
Start with the first digit on the left
Multiply it by the base
Add the next digit
Multiply the sum by the base
Continue the process until you add the last
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 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 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
0
0
1
1
Limited to only two digits
+
+
+
+
0
1
0
1
=
=
=
=
0
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
Sign1's
2's
Magnitude Complement Complement
0
0
0
1
1
1
2
2
2
3
3
3
-0
-3
-4
-1
-2
-3
-2
-1
-2
-3
-0
-1
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
1.
2.
3.
–
–
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 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 – makes each byte either
even or odd
Two-error-detecting code
Error 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