Test 2 Study Guide

advertisement
Test 2 Study Guide
CS 200 • Spring 2015
Study Topics


Number Base Conversion
o Other Bases to Decimal (ex. Base 5 to Base 10)
o Base 10 to Binary, Hexadecimal, and Octal
o Binary to Octal and Hexadecimal
o Octal to Hex using Binary intermediate
o Radix point and Fractional conversion (focus on Binary)
Data Representation
o Integers
 Unsigned
 Sign-Magnitude
 1s Complement
 2s Complement
o Floating Point
 Exponent with Bias
 Significand with implied “1.”
 IEEE Single (32 bits) and Double (64 bits) precision
o Floating Point Math
 Addition./Subtraction
 Normalize smaller exponent to match larger
 Use sign bit to decide sign of result and add or subtract significand
 Normalize again (if necessary) to store in IEEE format
 Multiplication/Division
 Use sign to decide sign of result
 Add (for multiply) or subtract (for divide) exponents
 Multiply or divide significands
 Normalize (if necessary) to store in IEEE format
o Character Representation
 BCD: Early IBM 6-bit format
 EBCDIC: BDC extended to 8 bits
 ASCII: Binary code for analog devices (telephone, telegraph)
 Originally 7 bits extended to 8 bits
 Unicode: 16-bit format designed to hold international character sets
o Error Detection
 Modulo 2 division
 CRC Syndrome from Data
 Use prime binary divisor
 Add digits (0s) to data – one less than digits in divisor
 Modulo 2 division – remainder replaces 0s added to data

o
CRC detection
 Modulo 2 division using original prime binary divisor
 If remainder 0, remove syndrome digits to get data
 If remainder not 0, data is suspect – ask for retransmit
Hamming Code
 Can detect AND correct errors
 Parity: count the 1s in a binary string
 Even Parity: if the 1s are odd, parity bit = 1, otherwise 0
 Odd Parity: if the 1s are odd, parity bit = 0, otherwise 1
 8 data bits + 4 parity bits = 12-bit codeword.
 Create Codeword
 Number bits from 1 starting at right
 Parity bits are at powers of 2 positions
 Other positions are combinations of powers of 2
 Add up all the positions that use a power to get the parity bit
Ex: Data = 10110111
1 0 1 1
0 1 1
1
12 11 10 9 8 7 6 5 4 3 2 1
1
1
1
1
1
2 2
2 2
2 = 1
4
4 4 4
8 8 8 8
The positions that contribute to parity bit 2 are in red and add up to an
odd number so the (even) parity is 1 and would go in position 2.

Decode Codeword
 Test parity bits as above, mark as correct or incorrect
 If all parity bits are correct or only one is incorrect, data is good.
 If more than one parity bit is incorrect, add positions to find bad bit
Ex: Bits 4, 2, and 1 are incorrect so position 7 is the bad bit. (4 + 2 + 1 = 7)



If outside of possible positions, data cannot be corrected
Otherwise, simply flip the bad bit to fix it.
If data is correct, strip out the parity bits to get the original data.
Download