30
1 Computing Higher - Unit 1… Computer Systems Higher Computing Unit 1 – Topic 1 Data Representation

Computing Higher - Unit 1… Computer Systems 1 Higher Computing Unit 1 – Topic 1 Data Representation

Embed Size (px)

Citation preview

1

Computing Higher - Unit 1… Computer Systems

Higher Computing

Unit 1 – Topic 1

Data Representation

2

Computing Higher - Unit 1… Computer Systems

Data Representation – Binary Number System

The binary number system has a huge advantage in that only two values need to be generated and detected, 0 and 1. These can easily be represented in a computer system by a switch or transistor being on or off, or by a high or low voltage level, eg 0 volts and 5 volts to represent 0 and 1. Imagine how difficult it would be to represent 10 discrete logic values, as required in the base 10 number system. Any degradation of the signal would cause the data to change value eg 4v could represent the value 4, if it degraded to 3.1v that could change the 4 to a 3 – not very reliable!

3

Computing Higher - Unit 1… Computer Systems

Data Representation – Binary Number System

Binary representation also simplifies the number of arithmetic rules that need to be applied in calculations. Binary arithmetic has fewer rules. In binary there are only 4 rules, in decimal there are 100 rules.

4

Computing Higher - Unit 1… Computer Systems

Data Representation – Binary Number System

When numbers are represented electronically, the most convenient base is 2, where each column, reading from the right is a power of two (ie, 128 64 32 16 8 4 2 1). The base 2 number system uses 2 symbols, 0 and 1 to represent a value.

In Summary:• Binary only has to generate and detect two values• Any degradation of the signal does not change the value (a

degraded 5v is still recognisable as a logic 1)• Can be easily represented in a computer with a switch/transistor

being ON or OFF • or by a HIGH or LOW voltage level

5

Computing Higher - Unit 1… Computer Systems

Data Representation – Converting Decimal to Binary

Write down the column headings, then place a one in each column to add up to the decimal value. Example:

128 64 32 16 8 4 2 1

45 = 0 0 1 0 1 1 0 1

= 32 + 8 + 4 + 1 = 45

6

Computing Higher - Unit 1… Computer Systems

Data Representation – Converting Binary to Decimal

Write down the column headings. Write down the binary number under the correct column. Add up the value of the column heading when a 1 appears in the column. Example:

128 64 32 16 8 4 2 1

1 0 0 0 0 1 0 1

= 128 + 4 + 1

= 133

7

Computing Higher - Unit 1… Computer Systems

Data Representation – Representing Positive Numbers

The range of positive integers that can be represented using n bits is 0 to 2n -1. Example:

8 bits gives the range 0-255. How? The lowest positive value is 0.To calculate the highest positive value use the formula: =2 n-1, =28-1 =(256-1) = 255So the range of positive values represented in 8 bits is 0-255What range of positive values can be represented in 16 bits? 0-65535

Do Questions 1-5 from Topic 1 questions.

8

Computing Higher - Unit 1… Computer Systems

Data Representation – Representing +ve and -ve Nos

Sign and MagnitudeSign and magnitude is one way of representing both positive and negative integers. The MSB (most significant bit) only tells us whether the number is positive or negative. The rest of the bits tell us the magnitude (size) of the number.

If MSB is 0 number is positive. If MSB is 1 number is negative.

Using 3 bits we can represent the following range of numbers:

9

Computing Higher - Unit 1… Computer Systems

Data Representation – Representing +ve and -ve Nos

Sign and Magnitude - ProblemsCarrying out addition and subtraction requires consideration of the signs of the numbers and their relative magnitudes;There are two representations of zero, testing for a zero result is more complex than it needs to be. (0000 = positive zero and 1000 = negative zero)

There is discontinuity in the number system, adding 1 to the number 7 should give 8 but it gives the value -0. 7 + 1 should give 8 but it gives -0

0 1 1 11

1 0 0 0For these reasons, sign and magnitude representation is not used for the representation of negative integers in modern computers.

10

Computing Higher - Unit 1… Computer Systems

Data Representation – Representing +ve and -ve Nos

Sign and Magnitude - ProblemsRange of numbers in Sign and Magnitude

8 bits: 2 n-1 -1 = 128 -1 01111111 = 127-(2 n-1 -1) =-128 – 1 11111111 = -127

11

Computing Higher - Unit 1… Computer Systems

Data Representation – Representing +ve and -ve Nos

Two’s Complement

Write down column Headings

128 64 32 16 8 4 2 1

Write down number (55)

0 0 1 1 0 1 1 1

Invert Numbers 1 1 0 0 1 0 0 0Add 1 + 1

1 1 0 0 1 0 0 1

Number is calculated as = -128 + 64 + 8 + 1 = -55

Two’s complement is a method of representing both negative and positive numbers where arithmetic works, and where there is only 1 value for zero The major difference with two’s complement is that the MSB gives the sign of the number but also contributes to its size. Example: Change 55 to -55

12

Computing Higher - Unit 1… Computer Systems

Data Representation – Representing +ve and -ve Nos

Two’s Complement

Range of numbers in Two’s Complement Notation:

The largest negative number using n bits is: When n is 8:= –2 n-1 = -27 = -128

The largest positive number using n bits:= +2 n-1 –1= 27 -1= 127

So the formulae is: –2 n-1 to +(2 n-1 –1)So the range of numbers in two’s complement is -128 to 127

13

Computing Higher - Unit 1… Computer Systems

Data Representation – Floating Point Numbers

Floating Point – To represent real numbers

Floating-point representation represents decimal fractions (real numbers) in scientific notation. This notation represents numbers as a base number and an exponent. For example, 234.567 in decimal could be represented as 2.34567 x 10 2, with base = 10 and exponent = 2.

Mantissa * base exponent

To represent a decimal fraction in a computer, floating point representation uses a non-zero fractional part, the mantissa, and an integer part, the exponent, to represent a decimal number.

The mantissa can be represented in two’s complement while the exponent uses sign and magnitude.

14

Computing Higher - Unit 1… Computer Systems

Data Representation – Floating Point Numbers

Floating Point

An example of floating point representation in decimal is shown below;

The exponent represents the range of the number, while the precision/accuracy is represented by the mantissa.

15

Computing Higher - Unit 1… Computer Systems

Data Representation – Floating Point Numbers

Floating Point

Given a fixed number of bits in a register, there are decisions that need to be made as to how many bits will be allocated to the mantissa and how many bits allocated to the exponent.

Applications that deal with very large numbers, for example astronomy, are more interested in representing a big enough range of numbers. Whereas, at the other end of the spectrum, scientists dealing with molecular data (where distances can be measured in 10-9 of a metre) place greater importance on precision.

16

Computing Higher - Unit 1… Computer Systems

Data Representation – Floating Point Numbers

Floating Point

If we take the value 1011.0101, we float the point to the far left, note the number of places it floated and this becomes the exponent (in sign and magnitude notation). All the bits of the number are then stored as the mantissa (in two’s complement notation). So, to represent 1011.0101 as a mantissa exponent it becomes.

Mantissa Exponent (Sign and Magnitude)10110101 0100

The mantissa holds all the bits of the number, the exponent holds the number of places the point floated to the left hand side (The power the base is raised to!)

17

Computing Higher - Unit 1… Computer Systems

Memory used for different number representationsIt is important to understand that in questions in your Higher you need to look for the clue in the question regarding how numbers are to be stored. If a question states that positive integers are to be stored then you can assume that binary (and not Sign and Magnitude or Twos Complement) can be used as there is no need to store negatives. So, for example, 8 bits can store from 0-255 or 256 numbers.

18

Computing Higher - Unit 1… Computer Systems

Memory used for different number representationsStoring Positive and Negative Integers in Twos Complement Notation - it is likely that 3/4/5 bytes are used to store the value.Floating Point Numbers - it is likely that 4 bytes is used for the mantissa and 1 byte for the exponent, or a variation on these 5 bytes, allocating differing amounts to the mantissa/exponent which will affect the accuracy and range of the number stored.ASCII is a data representation to store text. Even when a number is stored eg 8, it is stored as text and so cannot be used in a calculation. When a number is stored as text it only uses up 7/8 bits (normal/extended ASCII) so in some situations it is favourable to store a number as text.

19

Computing Higher - Unit 1… Computer Systems

Data Representation – Text

Text - ASCII

The set of characters that can be represented by the computer is known as the character set. Many computers have the flexibility of using several character sets, but we will restrict our discussions to ASCII and Unicode.

ASCIIASCII uses 7 bits per character, giving a possible 128 different characters. It has 96 displayable characters, enough to represent a letter or symbol of the English alphabet and numerical symbols. There are 32 special character codes known as control characters. These use ASCII values 0-31.

20

Computing Higher - Unit 1… Computer Systems

Data Representation – Text

Text - ASCII

Non-printing codes = 0-31a-z = 97-122A-Z=65-900-9=48-576 - ack7 – bell8 – backspace9 – Horizontal Tab13 – carriage return24- cancel27 - escape

21

Computing Higher - Unit 1… Computer Systems

Data Representation – Text

Extended ASCII

22

Computing Higher - Unit 1… Computer Systems

Data Representation – Text

Unicode

An increase in worldwide communications brought a need to exchange information internationally. Languages such as Japanese and Arabic, for example, have entirely different symbol shapes. A Japanese symbol is shown below;A solution to the problem of supporting multilingual text was to encode characters using 16 bits, thus providing 65,536 possible symbols. This is Unicode which is capable of including the characters from all known languages and alphabets in the world.

23

Computing Higher - Unit 1… Computer Systems

Data Representation – Graphics

Bit-Mapped Graphics

A bit mapped image is stored as a file of pixel data and is produced on screen at the same resolution at which it was created. Resolution refers to the total number of pixels in the width and height of the image. A bit map is a term that is applied to a 1-bit per pixel graphic system, i.e. where images can have only two possible colour values, 0 and 1, usually black and white,

ie 1:1 mapping of pixel : bit in memory.

24

Computing Higher - Unit 1… Computer Systems

Data Representation – Graphics

Bit-Mapped Graphics

A simple graphic produced in a painting package, using 2 colours, and its corresponding 9 x 9 x 1-bit representation is shown below.

25

Computing Higher - Unit 1… Computer Systems

Data Representation – Graphics

Bit-Mapped Graphics

As the number of bits per pixel increases, the number of colours that can be represented increases. For instance, using 2 bits per pixel allows 4 colours to be represented, while 8 bits per pixel can represent 256 possible colours. The number of bits used to represent each pixel is called the bit-depth.Number of Bits Calculation Number of Colours1 21 22 22 43 23 88 28 25616 216 6553624 224 16+ million colours

26

Computing Higher - Unit 1… Computer Systems

Data Representation – Graphics

Bit-Mapped Graphics

Advantages of bit mapped graphic representation• a bit mapped image can be manipulated at the pixel level. Thus a

designer may apply particular colour values to a selected pixel area to produce shading or textured effects;

• it is possible to create a wider range of irregular shapes and patterns by simply deleting pixels anywhere on the image.

Disadvantages of bit mapped representation• requires large amounts of storage space;• image becomes course (jagged) when scaled;• does not take advantage of resolutions that are higher than the

resolution of the image. Resolution dependence means graphic takes it resolution at the time of creation.

27

Computing Higher - Unit 1… Computer Systems

Data Representation – Graphics

Bit-Mapped Graphics – Calculating Memory Requirements

How much memory would be required to store an image made up of 960 pixels by 800 pixels using 256 colours?

Formulae = pixels * pixels* colour

No. bits for 256 colours = 8 bits = 1 byte (28 = 256)Calculation of storage for the image = pixels * pixels*

colour= 960 x 800 x 1 byte= 768000 bytes / 1024= 750 Kb

28

Computing Higher - Unit 1… Computer Systems

Data Representation – Graphics

Vector Graphics

Vector graphic representation does not represent the image pixel by pixel. Instead, it stores a description of the objects that make up the image, ie the objects attributes. For example, if an image contains a coloured circle and a pattern filled square then these object descriptions could take the form shown on next slide.

29

Computing Higher - Unit 1… Computer Systems

Data Representation – Graphics

Vector Graphics

30

Computing Higher - Unit 1… Computer Systems

Data Representation – Graphics

Vector Graphics

Advantages of vector graphic representation• they do not lose their image quality on scaling.• requires less storage space than a bit mapped image;• they can be edited at the "object" level, thus allowing the user to

reposition, scale and delete entire objects, or groups of objects, with ease;

• objects can be grouped to form larger objects that can then be manipulated as a single image;

• images are resolution independent.Disadvantages of vector graphic representation• See advantages of bit mapped graphics.