Computing Higher - Unit 1… Computer Systems Higher Computing Unit 1 – Topic 1 Data Representation 1 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! 2 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. 3 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 4 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 45 = 0 0 32 16 8 4 2 1 1 0 1 1 0 1 = 32 + 8 + 4 + 1 = 45 5 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 1 0 32 16 8 4 2 1 0 0 0 1 0 1 = 128 + 4 + 1 = 133 6 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) = 255 So the range of positive values represented in 8 bits is 0-255 What range of positive values can be represented in 16 bits? 0-65535 Do Questions 1-5 from Topic 1 questions. 7 Computing Higher - Unit 1… Computer Systems Data Representation – Representing +ve and -ve Nos Sign and Magnitude Sign 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: 8 Computing Higher - Unit 1… Computer Systems Data Representation – Representing +ve and -ve Nos Sign and Magnitude - Problems Carrying 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 1 1 1 0 0 0 For these reasons, sign and magnitude representation is not used for the representation of negative integers in modern computers. 9 Computing Higher - Unit 1… Computer Systems Data Representation – Representing +ve and -ve Nos Sign and Magnitude - Problems Range of numbers in Sign and Magnitude 8 bits: 2 n-1 -1 -(2 n-1 -1) = 128 -1 =-128 – 1 01111111 11111111 = = 127 -127 10 Computing Higher - Unit 1… Computer Systems Data Representation – Representing +ve and -ve Nos Two’s Complement 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 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 1 1 0 0 1 0 0 + 0 0 1 1 Add 1 Number is calculated as = -128 + 64 + 8 + 1 = -55 11 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 12 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. 13 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. 14 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. 15 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 10110101 Exponent (Sign and Magnitude) 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!) 16 Computing Higher - Unit 1… Computer Systems Memory used for different number representations It 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. 17 Computing Higher - Unit 1… Computer Systems Memory used for different number representations Storing 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. 18 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. ASCII ASCII 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. 19 Computing Higher - Unit 1… Computer Systems Data Representation – Text Text - ASCII Non-printing codes = 0-31 a-z = 97-122 A-Z=65-90 0-9=48-57 6 - ack 7 – bell 8 – backspace 9 – Horizontal Tab 13 – carriage return 24- cancel 27 - escape 20 Computing Higher - Unit 1… Computer Systems Data Representation – Text Extended ASCII 21 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. 22 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. 23 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. 24 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 Colours 1 21 2 2 22 4 3 23 8 8 28 256 16 216 65536 24 224 16+ million colours 25 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. 26 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 27 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. 28 Computing Higher - Unit 1… Computer Systems Data Representation – Graphics Vector Graphics 29 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. 30