Head to www.savemyexams.
com for more awesome resources
      CIE IGCSE Computer Science                                                                      Your notes
Number Systems
Contents
  Computers & Binary
  Number Systems
  Converting Between Binary & Denary
  Converting Between Hexadecimal & Binary
  Converting Between Hexadecimal & Denary
  Hexadecimal
  Binary Addition
  Binary Shifts
  Two's Complement
                                                      Page 1 of 14
                     © 2015-2024 Save My Exams, Ltd. · Revision Notes, Topic Questions, Past Papers
                                     Head to www.savemyexams.com for more awesome resources
 Computers & Binary
                                                                                                              Your notes
Why Do Computers Use Binary?
  All data needs to be converted to binary to be processed by a computer
  Binary is a numbering system that uses only 0s (off) and 1s (on)
  A computer uses binary data for all of its operations
  The 0’s and 1’s are called bits. “Bits” is short for binary digits
  A bit is the smallest unit of data a computer can use (a single 0 or 1)
  Bits can be grouped to form larger units of data, such as bytes, kilobytes, etc.
  By using binary, computers can process and store data using electronic transistors that can be either
  on or off
  Millions or billions of transistors fit onto a microchip
  Any form of data, including text, images, and sound, needs to be converted to binary before it can be
  processed by a computer
  This conversion process involves assigning a binary code to each character, pixel, or sample in the data
  The resulting binary code can then be processed using logic gates and stored in registers
Logic Gates
  Logic gates are electronic devices that perform logical operations on binary data
  Logic gates are used to process binary data by applying Boolean logic to the input values and
  producing a binary output
  Registers are temporary storage areas in a computer's CPU (central processing unit) that hold binary
  data during processing
  Registers are used to store data that needs to be accessed quickly, such as variables in a program or
  data being manipulated by logic gates
  The size of a register determines the maximum amount of binary data that can be stored in it at one time
                                                              Page 2 of 14
                             © 2015-2024 Save My Exams, Ltd. · Revision Notes, Topic Questions, Past Papers
                                          Head to www.savemyexams.com for more awesome resources
 Number Systems
                                                                                                                  Your notes
The Denary, Binary & Hexadecimal Number Systems
  In Computer Science there are 3 numbering systems used to represent data:
      Denary
      Binary
      Hexadecimal
The Denary Number System
  The denary number system, also known as the decimal system, is a base-10 numbering system that
  uses 10 digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9
  Denary numbers can be used to represent any quantity, including whole numbers, fractions, and
  decimals
  Each digit in a denary number represents a power of 10, with the rightmost digit representing 100, the
  next representing 101, and so on
  It is necessary to convert data from one number system to another eg. denary to binary or denary to
  hexadecimal
  It is much easier to do conversions with a table:
        The number 3268 (three thousand two hundred and sixty-eight) can be represented in the
        following table:
  (3 x 1000) + (2 x 100) + (6 x 10) + (8 x 1) = 3268
The Binary Number System
  The binary number system is a base-2 numbering system that uses only two digits: 0 and 1
  Each digit in a binary number represents a power of 2, with the rightmost digit representing 20, the next
  representing 21, and so on.
  Eg: the number 12 represented in binary is 1100:
                                                                  Page 3 of 14
                                 © 2015-2024 Save My Exams, Ltd. · Revision Notes, Topic Questions, Past Papers
                                           Head to www.savemyexams.com for more awesome resources
                                                                                                                   Your notes
  We know this as (1 x 8) + (1 x 4) + (0 x 2) + (0 x 1) =12
The Hexadecimal Number System:
  The hexadecimal number system is a base-16 numbering system that uses 16 digits: 0, 1, 2, 3, 4, 5, 6, 7,
  8, 9, A, B, C, D, E, and F where 10 is represented by A, 11 by B and so on up to 15 represented by F
  Each digit in a hexadecimal number represents a power of 16, with the rightmost digit representing 160,
  the next representing 161, and so on
  E.g. the number 146 represented in hexadecimal is 92
  (0 x 4096) + (0 x 256) + (9 x 16) + (2 x 1) = 146
    Exam Tip
    You need to be able to make conversions in both directions, e.g. denary to binary or binary to
    denary. Make sure you write the table the correct way round (with 1 in the right hand column) & use
    the correct number of bits in your answer (the question should tell you but use multiples of 4 bits if
    you’re not sure)
                                                                   Page 4 of 14
                                  © 2015-2024 Save My Exams, Ltd. · Revision Notes, Topic Questions, Past Papers
                                            Head to www.savemyexams.com for more awesome resources
 Converting Between Binary & Denary
                                                                                                                       Your notes
Converting Between Binary & Denary
Converting Denary to Binary Walkthrough:
  Write down the powers of 2 in binary from right to left, starting with 20 (1), 21 (2), 22 (4), 23 (8), and so on,
  until you reach 128 (as answers must be given in 8 bits)
       128           64            32             16             8            4             2             1
       0               0               1              0              1             0         1            1
  Starting from the leftmost column, write a 1 if the corresponding power of 2 is less than or equal to the
  number you’re converting, 171 in this example, otherwise write a 0.
      128             64             32             16          8          4            2         1
        1               0                  1           0                 1             0         1            1
  Check your working by adding together all column headings with a 1 underneath (128+32+8+2+1=171)
  Read the binary digits from left to right to get the binary equivalent of 171.
  10101011
Converting Binary to Denary Walkthrough:
  Write down the powers of 2 in decimal from right to left, starting with 20 (1), 21 (2), 22 (4), 23 (8), and so
  on, until you reach 128 (as answers must be given in 8 bits)
       128             64            32           16             8            4              2             1
  Starting from the leftmost column, write the binary digit in the column if it is a 1 write 1, and write 0 if it is
  a 0.
       128            64          32              16             8             4             2           1
       0                1               1              0             0                 1         1            0
  Add up the values in each column where the binary digit is 1.
  64 + 32 + 4 + 2 = 102
    Exam Tip
    If the question tells you to show your working you will get a mark for this so don't forget to write
    down yours
                                                                    Page 5 of 14
                                © 2015-2024 Save My Exams, Ltd. · Revision Notes, Topic Questions, Past Papers
                                        Head to www.savemyexams.com for more awesome resources
  Converting Between Hexadecimal & Binary
                                                                                                                  Your notes
Converting Between Hexadecimal & Binary
Converting Binary to Hexadecimal Walkthrough:
    Group the binary digits into groups of 4, starting from the rightmost digit. If there are not enough digits
    to make a group of 4, add leading zeros as needed.
    0110 1110
    Add column headings to work out the value of each nibble
        8          4              2           1                     8            4            2        1
          0          1            1             0                   1            1           1           0
4+2 = 6                                     8+4+2=14 = E in hex
    Replace each group of 4 bits with its corresponding hexadecimal value:
    0110 1110
    6 E
    Write down the resulting hexadecimal values to get the final answer:
    6E
Converting Hexadecimal to Binary Walkthrough:
    To convert a Hex number like A2 into binary write each hex digit in 4-bit binary
    A=10
        8           4           2           1                8             4            2            1
          1          0           1          0                 0             0           1           0
    The binary representation is the numbers altogether: 10100010
                                                                  Page 6 of 14
                                © 2015-2024 Save My Exams, Ltd. · Revision Notes, Topic Questions, Past Papers
                                           Head to www.savemyexams.com for more awesome resources
  Converting Between Hexadecimal & Denary
                                                                                                                    Your notes
Converting Between Hexadecimal & Denary
Converting Denary to Hexadecimal Walkthrough:
  1. Divide the decimal number (in this example 57) by 16 and write down the answer including the
     remainder:
     57 ÷ 16 = 3 remainder 9
  2. If the remainder is above 9, replace this with the corresponding letter
  3. Repeat steps 1 and 2 until the number you’re dividing is zero:
     3 ÷ 16 = 0 remainder 3
  4. Write the hexadecimal values from step 3 to step 1 in reverse order:
     39
Alternatively, you can turn your denary number into binary, and then turn the binary number into
hexadecimal:
1. Work out 57 in binary
     128                64         32             16            8              4              2              1
       0               0            1             1              1             0             0               1
2. Split it into 2 nibbles
      8             4          2             1                            8         4             2          1
      0           0             1            1                            1         0             0          1
3. Turn each nibble into its hex value
2+1=3               8+1=9
Answer is 39
Converting Hexadecimal to Denary Walkthrough:
    Write down the place value of each digit in the number, starting from the right and increasing by a
    power of 16:
                                                  161                160
                                                  16                  1
    If the hex digit is a letter, convert it to its denary equivalent (Using the following table to help you):
                                                                     Page 7 of 14
                                   © 2015-2024 Save My Exams, Ltd. · Revision Notes, Topic Questions, Past Papers
                                            Head to www.savemyexams.com for more awesome resources
                                         Hexadecimal                 Decimal
                                                                                                                     Your notes
                                              A                            10
                                              B                            11
                                              C                            12
                                              D                            13
                                              E                            14
                                              F                            15
    The hexadecimal value of the leftmost digit E has a decimal value of 14. The hexadecimal value of the
    rightmost digit is 5, which has a decimal value of 5
                                               16                 1
                                                  E                    5
    Multiply each decimal value by its corresponding place value, and sum the products:
      (14 x 16) + (5 x 1) = 224 + 5 = 229
       Therefore, the denary equivalent of E5 is 229.
       Alternatively, you can turn your hexadecimal number into binary, and then turn the binary number
       into denary:
1. Write each hex digit in binary
     8            4          2               1                        8             4            2          1
     1            1           1              0                        0             1            0          1
2. Convert the binary to denary
    128        64                   32             16            8              4            2              1
     1          1                    1             0             0              1            0              1
128+64+32+4+1=229
       Exam Tip
       When doing conversions don’t remove any 0s on the right hand side of your answer as this will cost
       you marks. E.g. B0 isn’t the same as B, just like 30 isn’t the same as 3.
                                                                     Page 8 of 14
                                    © 2015-2024 Save My Exams, Ltd. · Revision Notes, Topic Questions, Past Papers
                                       Head to www.savemyexams.com for more awesome resources
 Hexadecimal
                                                                                                               Your notes
Hexadecimal
Why Use Hexadecimal?
  Hexadecimal numbers are often used as a beneficial method of data representation in computer
  science
  It takes fewer digits to represent a given value in hexadecimal than in binary
  One hexadecimal digit can represent four bits of binary data
  It is beneficial to use hexadecimal over binary because:
        The more bits there are in a binary number, the harder it is to read
        Numbers with more bits are more prone to errors when being copied
     Worked example
 The following binary number has 24 bits: 101110110011101011101010. Write the number in hexadecimal
 and explain why it is better to write the number in hexadecimal rather than in binary.
     This number can be represented with only 6 digits in hexadecimal:
                                                                 B B 3 A E A Mark for each character [6]
     This number is:
                                   Much shorter and a more efficient way of representing numbers [1]
                                                                           Easier to spot any errors in [1]
How is Hexadecimal used in Computers?
  Using hexadecimal allows computer scientists to represent large amounts of binary data in a more
  manageable and readable format
  There are many uses of hexadecimal in computers:
      Memory addresses and other hardware related values
      Representation of colour values
      Error messages
      Memory dump
      Debugging
      IP addresses
      ASCII / Unicode
      Assembly language
      URLs
  Representation of colour values in HTML/CSS and in computer graphics: eg. RGB (red-green-blue)
  colour values can be represented in a compact and readable format. E.g. #FF0000
  Error messages & debugging: eg. 0x80070643 to give technicians/developers information about
  what the error is in relation to
                                                               Page 9 of 14
                              © 2015-2024 Save My Exams, Ltd. · Revision Notes, Topic Questions, Past Papers
                                   Head to www.savemyexams.com for more awesome resources
Memory dump: this is a record of what happened in the computer's memory at the time of an error.
These are often difficult to read because they contain a lot of technical information, but computers can
use hexadecimal values in memory dumps to identify specific memory locations and values.                    Your notes
     Eg. A video game on a computer crashes and a memory dump is created. A technician analyses the
     memory dump and looks for hexadecimal values to identify the cause of the crash. They might look
     for specific memory addresses and values that relate to the game being played or the graphics
     card in the computer.
IP addresses:
     Hexadecimal values can be used to represent each set of numbers in an IP address
     Each set of numbers can be converted into a two-digit hexadecimal value, giving a total of eight
     digits in the IP address
     Eg. the IP address "192.168.0.1" could be represented in hexadecimal as "C0A80001"
     The hexadecimal values can make IP addresses easier to work with in some cases, such as when
     configuring network devices or writing scripts that interact with IP addresses, however, they are
     not commonly used in everyday applications or browsing the internet
ASCII / Unicode: eg. The letter "A" is represented in ASCII as the decimal value 65, which is equivalent
to the binary value 01000001. This binary value can also be represented in hexadecimal as the value 41
Assembly language:
     Hexadecimal values are used in assembly language to represent the binary code for the
     instructions and data
     Each instruction or data value is represented by a specific sequence of hexadecimal digits, which
     can make it easier for programmers to read and understand the code
     Eg. "MOV AX, 5" instruction is represented by the hexadecimal value "B805", which tells the
     computer to move the value 5 into register AX
URLs:
     To encode a space in a URL using hexadecimal, the space character is replaced by a percent sign
     ("%") followed by the hexadecimal value of the space character. In ASCII, the space character has
     a decimal value of 32, which can be represented in hexadecimal as "20".
     So, to encode the URL "my website.com/page one" using hexadecimal, it would look like this:
     my%20website.com/page%20one
  Exam Tip
  When a question is asked which asks you to name a certain number of uses of hexadecimal, ensure
  you write the number asked for and no more. E.g. name 3 uses of hexadecimal - if you write more
  than 3, the last ones will be ignored by the examiner, even if they’re correct
  If you're asked to name any uses of hexadecimal, don't write down any given in the question as you
  won't get marks for this
                                                           Page 10 of 14
                           © 2015-2024 Save My Exams, Ltd. · Revision Notes, Topic Questions, Past Papers
                                         Head to www.savemyexams.com for more awesome resources
  Binary Addition
                                                                                                                   Your notes
Binary Addition
    Adding binary numbers follows a similar process to adding denary numbers
    The binary adding rules are:
        0+0=0
        0+1=1
        1+1=10 (The 1 is carried into the next column on the left)
        1+1+1=11 (The 1 is carried into the next column on the left)
Adding binary steps:
Step 1:       Start by writing the two binary numbers you want to add underneath each other, with the
              least significant bit (LSB) on the right.
Step 2:       Begin by adding the LSBs together. If the sum is less than or equal to 1, write it down in the
              sum column. If the sum is 2 or greater, write the remainder of the sum (i.e., the sum minus 2) in
              the sum column and carry over the quotient (i.e., 1) to the next column
Step 3:       Repeat this process for the next column to the left, adding the two bits and any carryover
              from the previous column. Again, if the sum is less than or equal to 1, write it down in the sum
              column; if the sum is 2 or greater, write the remainder of the sum in the sum column and carry
              over the quotient to the next column.
Step 4:       Continue this process for each subsequent column until you have added all the bits.
Step 5:       If the sum of the last two bits produces a carryover, add an additional bit to the left of the
              sum to represent the carryover.
Step 6:       Check the sum to make sure it fits within 8 bits. If it doesn't, you will need to use more bits to
              represent the sum.
Adding binary walkthrough:
                                                                   Page 11 of 14
                                 © 2015-2024 Save My Exams, Ltd. · Revision Notes, Topic Questions, Past Papers
                                      Head to www.savemyexams.com for more awesome resources
                                                                                                                Your notes
  In this example, we start by adding the two LSBs: 0 + 0 = 0, which we write down in the sum column
  We then move to the next column to the left and add the two bits and the carryover from the previous
  column: 1 + 1 + 0 = 10
  We write down the remainder of the sum (i.e., 0) in the sum column and carry over the quotient (i.e., 1) to
  the next column
  We repeat this process for the next two columns, and end up with the sum 101110000
Overflow
  An overflow error occurs when the result of a binary addition exceeds the maximum value that can be
  represented. In the case of 8-bits, the maximum value is 255
  Overflow occurs when the addition of two numbers results in a carry bit that cannot be
  accommodated
  To avoid overflow errors, it's important to check the result of binary addition to ensure that it doesn't
  exceed the maximum value that can be represented
  Overflow errors can also occur in other operations besides addition, such as multiplication or division
    Exam Tip
    You can convert your binary numbers to denary, then perform the calculation and then convert
    them back to check you’ve got the right answer. Label this as checking to make sure that the
    examiner knows this is a check and not part of your working out
                                                               Page 12 of 14
                              © 2015-2024 Save My Exams, Ltd. · Revision Notes, Topic Questions, Past Papers
                                       Head to www.savemyexams.com for more awesome resources
 Binary Shifts
                                                                                                                 Your notes
Binary Shifts
  A binary shift is the term used for multiplying or dividing in binary
  A binary shift moves all the bits in a binary number a certain number of positions to the left or right
  When performing a logical binary shift to the left, the bits shifted from the end of the register are lost,
  and zeros are shifted in at the opposite end
  When performing a logical binary shift to the right, the bits shifted from the beginning of the register
  are lost, and zeros are shifted in at the opposite end
  When performing a logical binary shift, the positive binary integer is multiplied or divided according to
  the shift performed. A shift to the left is equivalent to multiplication by a power of 2, while a shift to
  the right is equivalent to division by a power of 2
  When performing a logical binary shift, the most significant bit(s) or least significant bit(s) are lost,
  depending on the direction of the shift
Binary shift walkthrough:
  E.g. shifting the binary number 11001100 to the left by two positions gives 00110000. The two bits
  shifted from the end are lost, and two zeros are shifted in at the opposite end
  E.g. shifting the binary number 11001100 to the right by two positions gives 00110011. The two bits
  shifted from the beginning are lost, and two zeros are shifted in at the opposite end
  E.g. shifting 11001100 to the left by two positions, is multiplying it by 22, or 4. The result is 00110000,
  which is equal to 4 times the original value
  Shifting the binary number 11001100 to the right by two positions, is dividing it by 22, or 4. The result is
  00110011, which is equal to the original value divided by 4
    Exam Tip
    Make sure you’ve got the same number of bits in your answer as there were in the question. Check
    your answer by converting the binary number to denary, working out your answer and converting it
    back again. Make sure to label this checking so the examiner knows it isn’t part of your working out
                                                                Page 13 of 14
                               © 2015-2024 Save My Exams, Ltd. · Revision Notes, Topic Questions, Past Papers
                                        Head to www.savemyexams.com for more awesome resources
 Two's Complement
                                                                                                                    Your notes
Two's Complement
  Two's complement is a method of representing signed integers in binary form, where the leftmost bit
  represents the sign (0 for positive and 1 for negative)
  To convert a positive number to a two's complement 8-bit integer, first represent the number in binary
  form with leading zeros until it is 8 bits long. If the number is positive, the leftmost bit should be 0
  To convert a negative number to a two's complement 8-bit integer, first invert all the bits in the binary
  representation of the positive equivalent of the number (i.e., flip all the 1's to 0's and all the 0's to 1's).
  Then, add 1 to the result to obtain the two's complement representation
Two's complement walkthrough:
  The binary number 00101011 represents the positive integer 43 in 8-bit binary form
  E.g. to represent the negative integer -43 in two's complement 8-bit form, start by representing the
  positive equivalent of 43 in binary form: 00101011. Then invert all the bits to get 11010100, and add 1 to
  get 11010101
                                                                 Page 14 of 14
                               © 2015-2024 Save My Exams, Ltd. · Revision Notes, Topic Questions, Past Papers