- 121 Views
- Uploaded on
- Presentation posted in: General

Lecture 5

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Lecture 5

Sec 1.4 Representing Information as Bit Patterns

Representing Text

Representing Numeric Values

Representing Images

Sec 1.6 Storing Integers

Two’s Complement Notation

Excess Notation

- Each character (letter, punctuation, etc.) is assigned a unique bit pattern.
- ASCII: Uses patterns of 7-bits to represent most symbols used in written English text
- Unicode: Uses patterns of 16-bits to represent the major symbols used in languages world side
- ISO standard: Uses patterns of 32-bits to represent most symbols used in languages world wide

- Binary notation: Uses bits to represent a number in base two
- Limitations of computer representations of numeric values
- Overflow – occurs when a value is too big to be represented
- Truncation – occurs when a value cannot be represented accurately

Resolutionrefers to the sharpness or clarity of an image

- bitmaps that are divided into smaller pixels will yield higher resolution images
- the left image is stored using 96 pixels per square inch, and the right image is stored using 48 pixels per square inch
- the left image appears sharp, but has twice the storage requirements

- Images are stored using a variety of formats and compression techniques
- The simplest representation is a bitmap
- Bitmaps partition an image into a grid of picture elements, called pixels, and then convert each pixel into a bit pattern

- Integers are categorized as:
- Signed Integers
- Unsigned Integers
- Signed are those that include positive as well as negative numbers
- While Unsigned are those that only represent positive numbers
- The range for Signed Numbers is reduced to half

There are two ways to represent Signed Integers:

Two’s complement notation: The most popular means of representing integer values

Excess notation: Another means of representing integer values

Both can suffer from overflow errors.

Can use “+” and “-”, as usual.

But requires extra symbols. How can we use bits instead?

Invert all bits, then add 1.

0011(3 decimal)

+ 0010(2 decimal)

= (5 decimal ?)

0101

1101(-3 decimal)

+ 1110(-2 decimal)

= (-5 decimal ?)

11011

0011(3 decimal)

+ 1110(-2 decimal)

= (1 decimal ?)

10001

- Fixed number of bits can go out of range.
0011 (3 decimal)

+ 0111(7 decimal)

= 1010 (-6 decimal???)

- Overflow: When result can’t be represented within range of bits.
- Overflow occurs when the value that we compute cannot fit into the number of bits we have allocated for the result.
- In addition, if operands have same sign and sum doesn’t.

Excess 8 notation indicates that the value for zero is the bit pattern for 8, that is 1000

The bit patterns are 4 bits long

Positive numbers are above it in order and negative numbers are below it in order.

That is the zero point for Excess 128 notation is 128; the zero point for excess 64 notation is 64; and so forth.

For example, let's say we want to determine the pattern for 15 in Excess 128 notation.

The decimal number would be 128 + 15, or 143. Therefore, the bit pattern would be 10001111.

In contrast to storage of Integers the storage of fractions requires not only the representation of the magnitude by the radix point as well

A popular way of doing this is based on scientific notation called Floating-Point Notation

2-1 = 1/22-2 = 1/42-3 = 1/8

We use a radix point in the same role as the decimal point in decimal notation. That is, the digits to the left of the radix point represent the integer part of the value. The digits to the right represent the fractional part of the value.

_ _ _ . _ _ _

22 21 20 2-1 2-2 2-3

Example:

101.101 is 5 5/8 and 101.01011 is 5 11/32

- Binary-to-decimal for the part after the point
- Convert binary digits as though there were no point.
- Divide result by 2#bits – e.g., if 7 bits converted, then divide by 27 = 128.

- E.g., .1101
- 1101 = 13
- So, .1101 = 13 24 = 13/16 = .8125

Let's look at some decimal numbers first, to get a feel for what needs to be done. First we need to know how many digits in the mantissa. Let's choose 5.

The last example shows us one of the problems with floating-point notation – truncation error. Part of the value being stored is lost because the mantissa field is not large enough.

Now let's switch to binary. Although a common standard uses 64 bits for a floating-point number: 1 bit for the sign, 11 bits for the exponent, and 52 bits for the mantissa, we will use an abbreviated version. Let's use one byte: 1 bit for the sign, 3 bits for the exponent, and 4 bits for the mantissa.

The sign is easy enough 0 or 1.

The exponent has 3 bits and must be either + or -. We could use 2's complement, but excess notation is used instead! 3 bits means excess 4 notation. That leaves 4 bits for the mantissa. Why excess notation? It gives the best range of exponents and ease of wiring the circuitry.

000 0 – 4 = -4001 1 – 4 = -3010 2 – 4 = -2011 3 – 4 = -1100 4 – 4 = 0101 5 – 4 = 1110 6 – 4 = 2111 7 – 4 = 3

Determine the sign bit

Convert the whole number to binary

Convert the fraction to binary

Move the radix to the left of the most significant digit (left-most non-zero digit)

Determine the exponent in excess 4 notation

Example:

To store 1 1/8 we express it in binary notation and obtain 1.001

Copy the bit patterns into the mantissa field from left to right.

- Examples:
- +2 3/4
- This is positive so our sign bit is 0
- 2 is 10
- 3/4 is .11
- This gives us 10.11Move the radix two places to the left: .1011
- So the exponent is +2: 110 in excess 4
- Giving us: 0 110 1011

- -1.1875
- This is negative so our sign bit is 1
- 1 is 1
- .1875 is 3/16 giving us .0011
- This gives us 1.0011: Because we have 4 bits we have to use 1.001: Move the radix one place to the left: .1001
- So the exponent is +1: 101 in excess 4
- Giving us: 1 101 1001

- What is 10111100 in decimal?
- Split it apart into its pieces: 1 011 1100
- The sign is 1 or negative
- The exponent is 011 or -1
- The mantissa is 1100. Move the radix one place to the left: .01100 giving us 3/8
- Our number is -3/8