Data Representation Conversion 2142022 1 Learning Objectives Show

Data Representation Conversion 2/14/2022 1

Learning Objectives: Show understanding of the basis of different number systems and use the binary, denary and hexadecimal number system. Convert a number from one number system to another. Show understanding of, and be able to represent, character data in its internal binary form depending on the character set used (Candidates will not be expected to memorise any particular character codes but must be familiar with ASCII and Unicode). Express a denary number in Binary Coded Decimal (BCD) and vice versa. Describe practical applications where BCD is used. 2/14/2022 2

The Binary System Computers store information (data of all types – numbers, characters, sound, pictures, …) in Binary format i. e. base 2. n i. e. 0 or 1 Used because computers can only store and understand 2 states: n 2/14/2022 i. e. whether a circuit has current flowing or not / circuit is closed or open / voltage is high or low. 1 0 3

Bits and Bytes A binary digit (1 or 0) is known as a ‘bit’, short for BInary digi. T. In modern computers bits are grouped in 8 bit bytes. A Nibble is 4 bits (half a byte). A Word is the number of bits that the CPU can process simultaneously. n n 2/14/2022 Determines the speed of the computer. Processors can have 8 -, 16 -, 32 -(standard) or 64(fast) bit word sizes (or more). 4

Character set The symbols that a computer (software) can recognise which are represented by binary codes that the computer understands. 2/14/2022 5

Character Representation Over the years different computer designers have used different sets of binary codes for representing characters in a character set. This has led to great difficulty in transferring information from one computer to another. n 2/14/2022 i. e. which binary code represents each character 6

ASCII (American Standard Code for Information Interchange) Represents each character in a standard character set as a single byte binary code. The standard code form that most PCs use to allow for communication between systems. Usually uses a 7 bit binary code so can store 128 different characters and simple communications protocols. Sufficient for all characters on a standard keyboard plus control codes. n 2/14/2022 Can be extended (extended ASCII) to use 8 bits (so can store 256 characters) to encode Latin language characters. 7

ASCII code The first 32 ASCII codes are used for simple communications protocols, not characters. n n n 2/14/2022 e. g. ACK – acknowledge and would be sent by a device to acknowledge receipt of data. 0110010 – 2 0110001 – 1 …. . 1000001 – A 1000010 – B 8

Representing Characters and Numbers e. g. If the ‘A’ key is pressed ‘ 1000001’ is sent to the CPU. If the 1 key is pressed then ‘ 0110001’ is sent to the CPU. If the user wants to print ‘ 123’ the codes for 1, 2 & 3 are sent to the printer. 2/14/2022 9

Binary Arithmetic Rules 0+0=0 0+1=1 1+0=1 1 + 1 = 0 (carry 1) 1+1+1 = 1 (carry 1) 2/14/2022 10

Arithmetic ASCII coding is fine for input and output but useless for arithmetic: n n n 2 -1 1 0110010 - 0110001 0000000 i. e. not 1 There is no easy way to perform calculations on the numbers stored in this way. Numbers which are to be used in calculations are therefore held in binary format. 2/14/2022 11

Decimal or Denary system 134 = 100 + 30 + 4 Each column is worth 10 X as much as the last i. e. base 10 (10 fingers!). 2/14/2022 100 10 1 1 3 4 12

Binary system 134 = 128 + 4 + 2 Each column is worth 2 X as much as the last i. e. base 2. 128 64 32 16 8 4 2 1 1 0 0 1 1 0 Most Significant Bit (MSB) Least Significant Bit (LSB) Increasing Bit Status 2/14/2022 13

Binary – Decimal Spreadsheet Converter 1 Try using it to ‘play’ with binary numbers. n 2/14/2022 On the website below the link to this presentation. 14

Denary -> Binary e. g. 117 1. Always use the column headings for a byte (8 bits). 2. 117 < 128 so put a 0 and repeat. 128 64 32 16 8 4 2 1 0 3. 117 > 64 so put a 1. 128 64 0 1 32 4. 117 - 64 = 53 , 53 > 32, so put a 1. 128 64 32 16 8 4 2 1 0 1 1 1 0 1 5. 53 - 32 = 21 , 21 > 16, so put a 1. 6. Continue this until: 128 64 32 16 8 4 2 1 0 1 1 1 0 1

Binary -> Denary e. g. 10110110 Put the column headings above the binary number and add up all the columns with a 1 in them. 128 64 32 16 8 4 2 1 1 0 So 10110110 = 128 + 32 + 16 + 4 + 2 = 182 (denary)

Questions 1. Convert the following binary numbers to decimal. n 0011 3 n 0110 6 n 1010 10 n 01000001 65 n 01000101 69 2/14/2022 17

8 bit patterns Because in modern computers bits are grouped in 8 bit bytes numbers in binary format are usually written in 8 bit patterns even if there are unnecessary left leading 0’s. n n 2/14/2022 e. g. 11(binary) = 3 (decimal) But you will usually find it written as 00000011 18

Decimal -> Binary Questions 2. Convert the following decimal numbers to binary: n 5 00000101 n 7 00000111 n 1 00000001 n 26 00011010 n 68 0100 n 137 10001001 2/14/2022 19

Size of number Using only one byte to hold a number of places a restriction on the size of number the computer can hold. Therefore four or more consecutive bytes are commonly used to store numbers 2/14/2022 20

Binary -> Decimal Questions 3. What is the largest decimal number that can be held in (hint: 2^no. of bits): n 1 byte 255 (2^8 - 1) n 2 bytes 65535 (2^16 - 1) n 3 bytes 16777215 (2^24 - 1) n 4 bytes 4294967295 (2^32 -1) 2/14/2022 21

Hexadecimal Counts in 16’s. Uses the digits 0 – 9 and letters A – F. n n We need symbols going further than 0 to 9 (only 10 symbols and we need 16!). We could invent 6 more symbols but we would have to learn them, so we use 6 that we already know, the letters A to F. Each digit is worth 16 X as much as the one to the right. Each hex bit = 4 binary bits. n 2/14/2022 e. g. F (decimal 15) = 1111 22

Hexadecimal Denary / Decimal Binary Hexadecimal 1 00000001 1 2 00000010 2 etc …. 9 00001001 9 10 00001010 A 11 00001011 B etc …. 15 00001111 F 16 00010000 10 2/14/2022 23

Decimal -> Hexadecimal e. g. 75 1. Use the column headings 1, 16, 256, … (16^n) 2. 75 < 4096 & 75 < 256 so put a 0. 4096 256 0 0 16 1 3. 75 > 16 & 75 / 16 = 4 r 11 4. 11= B (hexadecimal) 4096 256 16 1 0 0 4 B So 75 = 4 B (Hexadecimal)

Hexadecimal-Denary Converter Try using it to ‘play’ with hexadecimal numbers. n 2/14/2022 https: //4565 e 4 f 1 bb 6 fcb 191 b 6 a 80 b 2 e 8 cd 1502 a 3 f 5 fc 3 b. googledri ve. com/host/0 Bxv. Av. CIUrln 7 bj. JWa. DAw. Z 0 l. BVFU/as_computer_s cience/information_rep/hexadecimal-denary_converter. xls 25

Denary -> Hexadecimal Question: Translate 101 (denary) into hexadecimal. n 65 Translate 64 (denary) into hexadecimal. n 40 2/14/2022 26

Hexadecimal -> Denary e. g. BD 4096 256 16 1 0 0 B D 0 0 11 13 B = 11 , D = 13 BD = (11 * 16) + 13 = 176 + 13 = 189 ( in denary) 2/14/2022 27

Hexadecimal -> Denary Question: Translate 96 (hexadecimal) into denary. n 150 Translate the 75 (hexadecimal) into denary. n 117 Translate the 30 (hexadecimal) into denary. n 48 2/14/2022 28

Binary -> Hexadecimal Translate each group of 4 bits into denary and then into hexadecimal. e. g. 10010010 (binary) = (1001)(0010) = (9)(2) = 92 (hexadecimal) An alternative way to convert from denary to hexadecimal is to convert to binary and then do the above. n 2/14/2022 Subsequently, vice versa for hexadecimal to denary. 29

Hexadecimal In order to ease the task of examining the contents of memory or a computer file, binary numbers are commonly put into groups of 4 bits and displayed in the form of hexadecimal numbers, base 16. Used as a shorthand for binary. 2/14/2022 30

Questions: The ASCII code for the letter N is 0100 1110. Show to represent this in a) denary 78 b) hexadecimal = (0100) (1110) = (4 + 14) = 4 E 2/14/2022 31

BCD (Binary Coded Decimal) Represents numbers only by representing each decimal digit by a 4 bit binary code. Decimal Binary 0 0000 1 0001 2 0010 etc. . 9 1001 2/14/2022 e. g. 19 is shown by: n n 1 9 0001 1001 32

Denary -> BCD Question Convert 398602 (denary) into BCD. n 2/14/2022 00111000011000000010 33

BCD -> Denary e. g. 001001110110 Split into groups of 4. n (0010) (0111) (0110) Translate each group of 4 into decimal in the same fashion as binary -> decimal. n 2 7 6 So 001001110110 = 2/14/2022 276 (denary) 34

BCD -> Denary Question Convert 100000110101 (BCD) into denary. n 2/14/2022 835 35

BCD (Binary Coded Decimal) Advantages: n Easy to convert from BCD to decimal and vice versa: as a BCD number is split into groups of four bits and each group converted directly to the corresponding decimal digit Used in some pocket calculators 2/14/2022 36

Fixed Point Binary A number with a decimal point is known (strangely!) as a real number as opposed to an integer which is a whole number. We can extend the binary system to represent real numbers by reserving some bits for the real or fractional part. 8 0 4 1 2 1 1 0 . ½ 1 ¼ 1 1/8 1/16 0 0 6. 75 = 0110. 1100 2/14/2022 37

Fixed Point Binary Precision 110. 1 = 6. 5 110. 11 = 6. 75 We have missed out 6. 51 to 6. 74! This means accuracy is poor. 2/14/2022 38

BCD (Binary Coded Decimal) Advantages: n When storing fractional numbers in BCD no ‘rounding’ occurs: As each digit is encoded separately so as many bits as necessary are used to represent the complete number Used in business applications where every significant digit has to be retained in a result. 2/14/2022 39

BCD (Binary Coded Decimal) Disadvantage n More bits are required to store each number than pure binary e. g. 19 in BCD = 0001 1001 (8 bits) 19 in normal binary format = 10011 (5 bits) n Difficult to calculate with: e. g. 1 + 19 20 2/14/2022 0000 0001 1001 0001 1010 ‘ 10’ is wrong invalid 40

BCD (Binary Coded Decimal) Only the first ten out of 16 combinations of 4 digits are used to encode the decimal digits ‘ 0’ to ‘ 9’ Therefore whenever the sum of two binary digits is >9, 6 has to be added to skip over the 6 unused codes. e. g. 2/14/2022 1 + 19 20 0001 +0001 1001 0001 1010 + 0110 0000 i. e. 20 which is correct 41

Unicode 16 bit code so can store 65536 characters and codes and simple communications protocols. Used to allow coding of languages that do not use Western characters. Currently supports 24 language scripts. 2/14/2022 42

Plenary Express the denary value 109 as n n n 2/14/2022 A binary number using an 8 -bit byte. A hexadecimal number. A number in binary coded decimal (BCD). 43

Plenary 01101101 6 D 0001 0000 1001 2/14/2022 44
- Slides: 44