System of Numeration: ISC Class 11 Computer Science Notes
Updated 15 October 2026 · Fact-checked
A number system represents values using a base and positional place values. ISC Class 11 Computer Science covers binary, octal, decimal and hexadecimal numbers, conversion between them, addition and multiplication in any base, and subtraction using 1's and 2's complement, the method computers use for negative numbers.
What System of Numeration is about
Computers store everything as patterns of 0s and 1s. To understand how numbers live inside a machine, you must be comfortable moving between decimal (base 10), binary (base 2), octal (base 8) and hexadecimal (base 16).
The CISCE 2028 syllabus (Section A, topic 1) asks for: representation of numbers in different bases and interconversion (binary, octal, decimal, hexadecimal); addition, subtraction and multiplication in different bases; the positional system and the concept of a base; conversion algorithms in English or pseudocode; addition and subtraction (1's complement and 2's complement) using the analogy with decimal numbers and how carry works; and multiplication (without decimals).
Every conversion on this page was computed by a program, and two short Java programs (compiled and run) show the algorithms in action: repeated division for base conversion, and 2's complement subtraction on 8-bit patterns.
Weightage: System of Numeration is topic 1 of the ISC Class XI Computer Science syllabus, in Section A - Hardware. CISCE weights Section A at 25 of the 70 marks in Paper I (Theory). Class XI is examined by the school, so your school sets the paper within this weightage.Source: CISCE ISC Computer Science syllabus, examination year 2028, Class XI unit weightage
Key concepts
- Positional number systems and the base
In a positional number system, the value of a digit depends on its position. Each position has a place value that is a power of the base (radix).
For a number with digits d₃d₂d₁d₀ in base b:
Value = d₃ × b³ + d₂ × b² + d₁ × b¹ + d₀ × b⁰
Digits after the point have place values b⁻¹, b⁻², ...
System Base Digits Binary 2 0, 1 Octal 8 0-7 Decimal 10 0-9 Hexadecimal 16 0-9, A (10), B (11), C (12), D (13), E (14), F (15) A base-b system has exactly b digits, from 0 to b − 1. The base is written as a subscript: 1011₂, 37₈, 2F₁₆.
Why computers use binary: electronic circuits are reliable with two states (on/off, high/low voltage). Octal and hexadecimal are shorthands for binary: one octal digit = 3 bits, one hex digit = 4 bits.
Worked example
Find the decimal value of 2F₁₆ and 37₈. [2 marks]
Try it first, then show the solutionSolution
- 2F₁₆ = 2 × 16 + 15 = 47.
- 37₈ = 3 × 8 + 7 = 31.
Answer: 2F₁₆ = 47; 37₈ = 31.
- Converting decimal to another base
Integer part: repeated division by the new base. Write the remainders; read them from bottom to top (last remainder is the most significant digit).
Algorithm (pseudocode):
result = "" while n > 0 r = n mod base result = digit(r) + result n = n div base end whileFraction part: repeated multiplication by the new base; the integer parts produced are the digits, read from top to bottom.
Example: 156 to binary: 156/2 = 78 r 0; 78/2 = 39 r 0; 39/2 = 19 r 1; 19/2 = 9 r 1; 9/2 = 4 r 1; 4/2 = 2 r 0; 2/2 = 1 r 0; 1/2 = 0 r 1. Reading upwards: 10011100₂. Similarly 156 = 234₈ = 9C₁₆.
Fraction: 0.625 × 2 = 1.25 (1); 0.25 × 2 = 0.5 (0); 0.5 × 2 = 1.0 (1) → 0.101₂.
The Java program below implements both directions; its output follows.
// Converts a decimal integer to any base from 2 to 16 by repeated division, // and converts a string in any base back to decimal by positional expansion. public class BaseConvert { static final String DIGITS = "0123456789ABCDEF"; static String toBase(int n, int base) { if (n == 0) return "0"; String result = ""; while (n > 0) { int r = n % base; // remainder is the next digit (from the right) result = DIGITS.charAt(r) + result; n = n / base; // quotient is divided again } return result; } static int toDecimal(String s, int base) { int value = 0; for (int i = 0; i < s.length(); i++) { int d = DIGITS.indexOf(Character.toUpperCase(s.charAt(i))); value = value * base + d; // Horner's method: shift left one place, add digit } return value; } public static void main(String[] args) { int n = 156; System.out.println(n + " in base 2 = " + toBase(n, 2)); System.out.println(n + " in base 8 = " + toBase(n, 8)); System.out.println(n + " in base 16 = " + toBase(n, 16)); System.out.println("3AF (base 16) = " + toDecimal("3AF", 16)); System.out.println("756 (base 8) = " + toDecimal("756", 8)); System.out.println("101101 (base 2) = " + toDecimal("101101", 2)); } }Output:
156 in base 2 = 10011100 156 in base 8 = 234 156 in base 16 = 9C 3AF (base 16) = 943 756 (base 8) = 494 101101 (base 2) = 45Worked example
Convert 45.625 (decimal) to binary. [2 marks]
Try it first, then show the solutionSolution
- 45: 45/2 = 22 r 1; 22/2 = 11 r 0; 11/2 = 5 r 1; 5/2 = 2 r 1; 2/2 = 1 r 0; 1/2 = 0 r 1 → 101101.
- 0.625: × 2 → 1 (0.25); × 2 → 0 (0.5); × 2 → 1 (0) → .101.
Answer: 45.625 = 101101.101₂.
- Conversions among binary, octal and hexadecimal
Because 8 = 2³ and 16 = 2⁴, conversions use grouping of bits.
Binary → octal: group bits in threes from the binary point (leftwards for the integer part, rightwards for the fraction), padding with zeros; replace each group by its octal digit.
Binary → hexadecimal: group in fours the same way.
Octal or hex → binary: replace each digit by its 3-bit or 4-bit binary equivalent.
Octal ↔ hexadecimal: go through binary.
Examples:
- 10011100₂ → (010)(011)(100) = 234₈; (1001)(1100) = 9C₁₆.
- 3AF₁₆ → 0011 1010 1111 = 1110101111₂ (= 943).
- 756₈ → 111 101 110 = 111101110₂ → (0001)(1110)(1110) = 1EE₁₆ (= 494).
- 1101.11₂ → octal: (001)(101).(110) = 15.6₈; hex: (1101).(1100) = D.C₁₆.
Worked example
Convert 756₈ to hexadecimal through binary. [2 marks]
Try it first, then show the solutionSolution
- 756₈ → 111 101 110 → 111101110₂.
- Group in fours from the right: 0001 1110 1110 → 1EE₁₆.
Answer: 756₈ = 1EE₁₆ (both equal 494 in decimal).
- Addition in different bases
Addition works exactly as in decimal: add column by column from the right; when a column sum reaches the base, write (sum − base) and carry 1 to the next column.
Binary rules: 0 + 0 = 0; 0 + 1 = 1; 1 + 1 = 10 (write 0, carry 1); 1 + 1 + 1 = 11 (write 1, carry 1).
Examples:
- Binary: 101101 + 11011 = 1001000₂ (45 + 27 = 72).
- Octal: 567₈ + 354₈: 7 + 4 = 11 = 8 + 3 → write 3, carry 1; 6 + 5 + 1 = 12 = 8 + 4 → write 4, carry 1; 5 + 3 + 1 = 9 = 8 + 1 → write 1, carry 1 → 1143₈ (375 + 236 = 611).
- Hexadecimal: 9AF₁₆ + 4C8₁₆: F + 8 = 23 = 16 + 7 → 7 carry 1; A + C + 1 = 23 → 7 carry 1; 9 + 4 + 1 = 14 = E → E77₁₆ (2479 + 1224 = 3703).
Check every answer by converting to decimal.
Worked example
Add 110111₂ and 101011₂, and check in decimal. [2 marks]
Try it first, then show the solutionSolution
- Column sums from the right: 1+1 = 10 (0, c1); 1+1+1 = 11 (1, c1); 1+0+1 = 10 (0, c1); 0+1+1 = 10 (0, c1); 1+0+1 = 10 (0, c1); 1+1+1 = 11 (1, c1); final carry 1.
- Result 1100010₂; check: 55 + 43 = 98 = 1100010₂.
Answer: 1100010₂ (= 98).
- Subtraction using 1's and 2's complement
Computers subtract by adding a complement, just as in decimal 9's/10's complement.
1's complement of a binary number: invert every bit (0 → 1, 1 → 0). 2's complement = 1's complement + 1.
A − B using 1's complement (same number of bits):
1. Add A and the 1's complement of B.
2. If there is an end carry, add it back to the result (end-around carry): the answer is positive.
3. If there is no carry, the answer is negative: take the 1's complement of the result and put a minus sign.A − B using 2's complement:
1. Add A and the 2's complement of B.
2. If there is an end carry, discard it: the answer is positive.
3. If there is no carry, the answer is negative: take the 2's complement of the result.Example (1's): 11010 − 01101 (26 − 13): 1's comp of 01101 = 10010; 11010 + 10010 = 1 01100; add carry: 01100 + 1 = 01101 = 13.
Example (2's): 01101 − 11010 (13 − 26): 2's comp of 11010 = 00110; 01101 + 00110 = 10011, no carry → negative; 2's comp of 10011 = 01101 → −13.
Signed numbers: in an n-bit 2's complement system the leftmost bit is the sign bit (1 = negative); the range for 8 bits is −128 to +127. The program below does 13 − 26 with 8-bit patterns.
// Subtracts two 8-bit numbers by adding the 2's complement, and shows the bit patterns. public class TwosComplement { static String bits8(int v) { String s = Integer.toBinaryString(v & 0xFF); // keep only the lowest 8 bits while (s.length() < 8) s = "0" + s; return s; } public static void main(String[] args) { int a = 13, b = 26; int onesB = (~b) & 0xFF; // invert every bit int twosB = (onesB + 1) & 0xFF; // add 1 int sum = (a + twosB) & 0x1FF; // keep a possible 9th (carry) bit System.out.println("a = " + bits8(a)); System.out.println("b = " + bits8(b)); System.out.println("1's comp b = " + bits8(onesB)); System.out.println("2's comp b = " + bits8(twosB)); System.out.println("a + 2's b = " + bits8(sum) + (sum > 0xFF ? " with carry" : " no carry")); System.out.println("as signed = " + (byte) sum); } }Output:
a = 00001101 b = 00011010 1's comp b = 11100101 2's comp b = 11100110 a + 2's b = 11110011 no carry as signed = -13The last line confirms that 11110011 read as a signed 8-bit number is −13.
Worked example
Find the 8-bit 2's complement representation of −45. [2 marks]
Try it first, then show the solutionSolution
- +45 = 00101101; 1's complement = 11010010.
- Add 1: 11010011.
Answer: −45 = 11010011 (8-bit 2's complement).
- Multiplication in different bases
Multiply digit by digit as in decimal, but carry in the base: if a product is p, write p mod base and carry p div base. Then add the partial products in that base. (The syllabus asks for multiplication without fractional parts.)
Binary rules: 0 × 0 = 0; 0 × 1 = 0; 1 × 1 = 1. Multiplication is shift and add: for each 1 in the multiplier, write the multiplicand shifted left.
Examples:
- Binary: 1011 × 101: partial products 1011 and 101100 (shifted two places); sum 110111₂ (11 × 5 = 55).
- Octal: 47₈ × 6₈: 7 × 6 = 42 = 5 × 8 + 2 → write 2, carry 5; 4 × 6 + 5 = 29 = 3 × 8 + 5 → write 5, carry 3 → 352₈ (check: 47₈ = 39, and 39 × 6 = 234 = 3 × 64 + 5 × 8 + 2).
- Hexadecimal: 2B₁₆ × 1A₁₆ = 45E₁₆ (43 × 26 = 1118).
Worked example
Multiply 1101₂ by 110₂ and check in decimal. [2 marks]
Try it first, then show the solutionSolution
- Multiplier bits 0, 1, 1 (right to left): partial products 0, 11010, 110100.
- Sum 11010 + 110100 = 1001110₂; check: 13 × 6 = 78 = 1001110₂.
Answer: 1001110₂ (= 78).
System of Numeration in real life
Each concept, met in an everyday situation. Read the situation, answer the question in your own words, then compare with the model answer. The one-line hook is what to remember.
Hexadecimal colour codes
Suppose a website uses the colour code #FF8000 for orange, where each pair of hex digits gives the red, green and blue levels from 0 to 255.
Find the red, green and blue values in decimal.
Try it first, then show the solutionSolution
- FF = 15 × 16 + 15 = 255; 80 = 8 × 16 + 0 = 128; 00 = 0.
- So red 255, green 128, blue 0.
Answer: Red 255, green 128, blue 0: full red with half green gives orange.
Memory hook: Two hex digits = one byte = 0 to 255.
Counting on fingers in binary
Imagine you treat each finger of one hand as a bit: up = 1, down = 0.
What is the largest number you can show on one hand, and on two hands?
Try it first, then show the solutionSolution
- One hand: 5 bits; largest 11111₂ = 31.
- Two hands: 10 bits; largest = 2¹⁰ − 1 = 1023.
Answer: 31 on one hand and 1023 on two: n bits count up to 2ⁿ − 1.
Memory hook: n bits → 2ⁿ patterns → largest 2ⁿ − 1.
Overflow
Suppose an old game stores your score in 8 bits as an unsigned number, and you score 250 and then 10 more points.
What score does the game show?
Try it first, then show the solutionSolution
- 250 + 10 = 260, but 8 bits hold at most 255.
- The carry out of bit 8 is lost: 260 − 256 = 4.
Answer: 4: the score overflows and wraps round.
Memory hook: Too big for the bits? It wraps round.
Topics in this chapter
System of Numeration: syntax and key facts
- Positional value
- Value = Σ dᵢ × bⁱ (i = position from the right, starting at 0; negative for fractional places)
- Grouping
- 1 octal digit = 3 bits; 1 hexadecimal digit = 4 bits
- Complements
- 1's complement: invert all bits; 2's complement = 1's complement + 1
- Range of n-bit numbers
- Unsigned: 0 to 2ⁿ − 1; 2's complement signed: −2ⁿ⁻¹ to 2ⁿ⁻¹ − 1
- 8 bits: 0 to 255 unsigned, −128 to 127 signed.
- Carry rule
- If a column sum ≥ base: write sum − base, carry 1
System of Numeration: diagrams to practise
Practise each one on paper: draw it from the checklist, then tick off every label.
Repeated-division ladder
Convert a decimal number to binary, octal or hexadecimal.
Draw
- Write the base on the left and the number on the right; divide down the page, writing each quotient below and the remainder to its right.
- Stop when the quotient is 0.
- Draw an upward arrow beside the remainders and read them bottom to top.
Label
- base
- quotients
- remainders
- read upwards
Watch out: For fractions use a multiplication ladder and read the integer parts downwards.
Bit-grouping chart
Convert between binary, octal and hexadecimal.
Draw
- Write the binary number; mark the binary point.
- Draw brackets of 3 (octal) or 4 (hex) bits moving away from the point in both directions; pad with zeros at the ends.
- Write the octal or hex digit under each bracket.
Label
- binary point
- groups of 3 or 4
- padding zeros
Watch out: Always group from the binary point outwards, never from the left end of the integer part.
How the school exam asks System of Numeration
The question patterns to expect, and the method that works for each.
| Question type | How it is asked | Method |
|---|---|---|
| Objective (1-2 marks) | Convert a number from one base to another; find a 1's or 2's complement; state the range of n bits. | Show the ladder or grouping; check by converting back to decimal. |
| Arithmetic (2-5 marks) | Add, subtract (by 1's or 2's complement) or multiply numbers in binary, octal or hexadecimal. | Column working with carries shown; state the rule used for the end carry. |
| Algorithm (5-10 marks) | Write an algorithm or Java method to convert between bases or to add binary numbers. | Repeated division with string building; positional expansion (Horner's method). |
Tricks to remember System of Numeration
Short memory aids. Say each one aloud once, then use it on a question the same day.
Divide down, read up
Integers: divide repeatedly, read remainders upwards. Fractions: multiply repeatedly, read integer parts downwards.
Use it when: Decimal to any base.
Octal 3, hex 4
8 = 2³ and 16 = 2⁴.
Use it when: Grouping bits.
1's: flip; 2's: flip and add one
Shortcut for 2's: keep bits up to and including the first 1 from the right, flip the rest.
Use it when: Complements.
Carry in 1's, drop in 2's
End-around carry for 1's complement; discard the carry for 2's complement.
Use it when: Complement subtraction.
System of Numeration: exam-level solved questions
Ordered from exam level to HOTS. Cover the solution, write your own, then compare step by step.
Example 1: Hex digit value · 1 mark · MCQExam level
The decimal value of 1F₁₆ is:
(a) 25
(b) 31
(c) 115
(d) 16
Try it first, then show the solutionSolution
- 1 × 16 + 15 = 31.
Answer: (b) 31.
Example 2: End carry in 2's complement · 1 mark · Assertion-reasonHarder exam level
Assertion: When A − B is computed by adding A to the 2's complement of B and an end carry appears, the carry is discarded and the result is positive.
Reason: In 1's complement subtraction, the end carry is added back to the result.
(a) Both Assertion and Reason are true and Reason is the correct explanation of Assertion.
(b) Both Assertion and Reason are true but Reason is not the correct explanation of Assertion.
(c) Assertion is true but Reason is false.
(d) Both Assertion and Reason are false.
Try it first, then show the solutionSolution
- Both statements are true, but the 1's complement rule does not explain the 2's complement rule.
Answer: (b)
Example 3: Octal and hex of a decimal number · 2 marks · Short answerExam level
Convert 500 (decimal) to binary, then to octal and hexadecimal by grouping.
Try it first, then show the solutionSolution
- 500 = 111110100₂ (256 + 128 + 64 + 32 + 16 + 4).
- Octal: 111 110 100 = 764₈. Hex: 0001 1111 0100 = 1F4₁₆.
Answer: 111110100₂ = 764₈ = 1F4₁₆.
Example 4: Subtraction both ways · 5 marks · Short answerHarder exam level
Using 6-bit numbers, find (a) 100110₂ − 011011₂ by 1's complement and (b) 011011₂ − 100110₂ by 2's complement. Check in decimal.
Try it first, then show the solutionSolution
- (a) 1's comp of 011011 = 100100; 100110 + 100100 = 1 001010; end-around carry: 001010 + 1 = 001011 = 11.
- Check: 38 − 27 = 11.
- (b) 2's comp of 100110 = 011001 + 1 = 011010; 011011 + 011010 = 110101, no carry → negative.
- 2's comp of 110101 = 001010 + 1 = 001011 = 11 → answer −11.
- Check: 27 − 38 = −11.
Answer: (a) 001011₂ = 11; (b) −001011₂ = −11.
Example 5: Hexadecimal arithmetic · 5 marks · Short answerHOTS / competency
Compute (a) 9AF₁₆ + 4C8₁₆ and (b) 2B₁₆ × 1A₁₆, showing carries, and verify in decimal.
Try it first, then show the solutionSolution
- (a) F + 8 = 23 = 16 + 7 → 7, carry 1; A + C + 1 = 23 → 7, carry 1; 9 + 4 + 1 = 14 = E → E77₁₆.
- Check: 2479 + 1224 = 3703 = 14 × 256 + 7 × 16 + 7 = E77₁₆.
- (b) 2B × A: B × A = 110 = 6 × 16 + 14 → E, carry 6; 2 × A + 6 = 26 = 16 + 10 → A, carry 1 → 1AE.
- 2B × 1 (shifted one place) = 2B0; 1AE + 2B0 = 45E₁₆.
- Check: 43 × 26 = 1118 = 4 × 256 + 5 × 16 + 14 = 45E₁₆.
Answer: (a) E77₁₆ (= 3703); (b) 45E₁₆ (= 1118).
Example 6: Base conversion method · 10 marks · Long answerHOTS / competency
Write a Java class with (a) a method String toBase(int n, int base) that converts a non-negative decimal integer to any base from 2 to 16 by repeated division, and (b) a method int toDecimal(String s, int base) that converts back. Explain the algorithms and show the output for 156 and for '3AF' in base 16.
Try it first, then show the solutionSolution
- toBase: if n is 0 return "0"; otherwise loop while n > 0: r = n % base; prepend DIGITS.charAt(r); n = n / base.
- Prepending builds the digits from right to left, which matches reading remainders upwards.
- toDecimal: value = 0; for each character, d = DIGITS.indexOf(uppercase char); value = value × base + d (Horner's method).
- Horner's method avoids computing powers: each step shifts the value one place left and adds the next digit.
- Output (compiled program BaseConvert): 156 → 10011100, 234, 9C; 3AF₁₆ → 943; 756₈ → 494; 101101₂ → 45.
Answer: See the compiled BaseConvert program in the conversion section: toBase uses repeated division with prepending; toDecimal uses Horner's method; 156 = 10011100₂ = 234₈ = 9C₁₆ and 3AF₁₆ = 943.
Case-study practice (Section D style)
Read the situation, then answer every part. In a school exam set on the board pattern this is a 5-mark question split into 2 + 2 + 1 marks.
Network addresses
Suppose a network engineer writes a device address as four bytes: 192.168.10.37. A diagnostic tool shows the same address in hexadecimal and binary. The engineer also needs to subtract two 8-bit counter values, 00011000 (current) and 00101101 (previous), using 2's complement to find the change.
(i) · 2 marks
Convert 192 and 37 to 8-bit binary and to hexadecimal.
Answer
Answer: 192 = 11000000₂ = C0₁₆; 37 = 00100101₂ = 25₁₆.
1 mark each number.
(ii) · 2 marks
Compute 00011000 − 00101101 using 2's complement and give the decimal result.
Answer
Answer: 2's comp of 00101101 = 11010011; 00011000 + 11010011 = 11101011, no carry → negative; 2's comp of 11101011 = 00010101 = 21 → result −21 (24 − 45).
1 mark working, 1 mark result.
(iii) · 1 mark
What is the largest value one byte of the address can hold, and why?
Answer
Answer: 255, because 8 bits give 2⁸ = 256 patterns, from 0 to 255.
1 mark.
Where the marks are
How a typical answer is split into step marks. Show every step: a right final answer alone rarely earns full marks.
Convert a decimal number to octal and hexadecimal (2 marks) (2 marks)
| Step | Marks |
|---|---|
| Correct binary by repeated division | 1 |
| Correct grouping into octal and hexadecimal | 1 |
Subtraction by 1's and 2's complement (5 marks) (5 marks)
| Step | Marks |
|---|---|
| Correct complements formed | 1 |
| Addition with carry handled correctly for 1's complement | 2 |
| 2's complement result with sign interpreted | 1 |
| Decimal check | 1 |
Base conversion methods in Java (10 marks) (10 marks)
| Step | Marks |
|---|---|
| Class structure and DIGITS string | 1 |
| toBase loop: remainder, prepend, quotient | 3 |
| Zero handled | 1 |
| toDecimal using Horner's method | 3 |
| main method calling both with correct output | 2 |
Where students lose marks in System of Numeration
The slips examiners see most often, and what to write instead.
Mistake: Reading remainders from top to bottom
The first remainder is the least significant digit.
Do this: Divide down, read up.
Usually costs: 1-2 marks.
Mistake: Grouping bits from the left end of the integer part
Groups must start at the binary point; otherwise digits shift.
Do this: Pad zeros at the far left (integer) and far right (fraction).
Usually costs: 1 mark.
Mistake: Keeping the end carry in 2's complement subtraction
In 2's complement, the end carry is discarded; only 1's complement adds it back.
Do this: Carry in 1's, drop in 2's.
Usually costs: 1 mark.
Mistake: Using different bit lengths for A and B
Complements must be taken with the same number of bits.
Do this: Pad the shorter number with leading zeros first.
Usually costs: 1 mark.
Practice questions on System of Numeration
Write each answer on paper first. Open the hint only if you are stuck, and the answer only when you have finished.
Q1 · 1 mark · MCQExam level
The 2's complement of 01011000 is:
(a) 10100111
(b) 10101000
(c) 10100110
(d) 01011001Hint
Flip all bits, then add 1.
Answer
(b) 10101000.
Q2 · 1 mark · Very short answerExam level
Convert 11010110₂ to hexadecimal.
Hint
Groups of four.
Answer
1101 0110 = D6₁₆.
Q3 · 2 marks · Short answerExam level
Convert 0.8125 (decimal) to binary.
Hint
Multiply by 2 repeatedly.
Answer
0.8125 × 2 = 1.625 (1); 0.625 × 2 = 1.25 (1); 0.25 × 2 = 0.5 (0); 0.5 × 2 = 1.0 (1) → 0.1101₂.
Q4 · 2 marks · Short answerHarder exam level
Add 7A6₁₆ and 1F9₁₆.
Hint
Carry when a column reaches 16.
Answer
6 + 9 = 15 = F; A + F = 25 = 16 + 9 → 9, carry 1; 7 + 1 + 1 = 9 → 99F₁₆ (1958 + 505 = 2463).
Q5 · 5 marks · Short answerHarder exam level
Subtract 1011₂ from 1101₂ using 2's complement (4-bit), and 1101₂ from 1011₂ using 1's complement.
Hint
Discard carry in 2's; no carry in 1's means negative.
Answer
1101 − 1011: 2's comp of 1011 = 0101; 1101 + 0101 = 1 0010; discard carry → 0010 = 2 (13 − 11). 1011 − 1101: 1's comp of 1101 = 0010; 1011 + 0010 = 1101, no carry → negative; 1's comp of 1101 = 0010 → −0010 = −2 (11 − 13).
Q6 · 2 marks · Short answerHarder exam level
Multiply 365₈ by 4₈.
Hint
Carry in eights.
Answer
5 × 4 = 20 = 2 × 8 + 4 → 4, carry 2; 6 × 4 + 2 = 26 = 3 × 8 + 2 → 2, carry 3; 3 × 4 + 3 = 15 = 8 + 7 → 7, carry 1 → 1724₈ (245 × 4 = 980).
Q7 · 2 marks · Short answerHOTS / competency
What decimal values do the 8-bit patterns 10000000 and 11111111 represent (a) as unsigned numbers, (b) in 2's complement?
Hint
Sign bit has weight −128 in 2's complement.
Answer
(a) Unsigned: 128 and 255. (b) 2's complement: −128 and −1.
Q8 · 2 marks · Short answerHOTS / competency
Convert 2D3.A₁₆ to octal.
Hint
Through binary; regroup from the point.
Answer
2D3.A₁₆ = 0010 1101 0011 . 1010 = 1011010011.101₂; groups of three: 001 011 010 011 . 101 = 1323.5₈ (= 723.625).
Q9 · 5 marks · Long answerHOTS / competency
Write an algorithm (in English or pseudocode) to add two binary numbers given as strings of equal length, and trace it for 1011 + 0110.
Hint
Right to left with a carry variable.
Answer
Set carry = 0 and result = "". For i from the last index down to 0: s = bit(a, i) + bit(b, i) + carry; prepend (s mod 2) to result; carry = s div 2. After the loop, if carry = 1, prepend 1. Trace: i=3: 1+0+0 = 1 → '1', c0; i=2: 1+1+0 = 2 → '0', c1; i=1: 0+1+1 = 2 → '0', c1; i=0: 1+0+1 = 2 → '0', c1; final carry → '10001'. Check: 11 + 6 = 17 = 10001₂.
Q10 · 2 marks · Short answerHOTS / competency
Explain why computers prefer 2's complement over 1's complement for negative numbers.
Hint
Zero and carries.
Answer
1's complement has two zeros (+0 = 0000, −0 = 1111) and needs an end-around carry. 2's complement has a single zero, the end carry is simply discarded, and the same adder circuit handles signed and unsigned addition, so hardware is simpler.
Test your recall
Answer in your head or on paper first, then open the card. Pulling an answer out of memory makes it stick far better than re-reading.
1.Digits of base 16?Show answer
0-9 and A-F.
2.Bits per octal digit?Show answer
3.
3.Bits per hex digit?Show answer
4.
4.2's complement?Show answer
1's complement + 1.
5.8-bit signed range?Show answer
−128 to 127.
6.1's complement end carry?Show answer
Added back (end-around carry).
Best order to study it
- Positional system and place values.
- Decimal to other bases (integer and fraction).
- Binary, octal and hexadecimal by grouping.
- Addition in any base with carries.
- 1's and 2's complement subtraction.
- Multiplication in different bases.
Quick revision checklist
The night before the exam: can you do each of these without looking?
- Value = Σ digit × baseᵖᵒˢⁱᵗⁱᵒⁿ.
- Decimal → base: divide, read remainders upwards; fractions: multiply, read downwards.
- Octal = 3 bits, hex = 4 bits; group from the point.
- Carry when the column sum reaches the base.
- 1's: invert, end-around carry; 2's: invert + 1, discard carry; no carry = negative.
- Multiply digit by digit; carry p div base; binary = shift and add.
System of Numeration: frequently asked questions
Why is hexadecimal used if computers work in binary?
Because one hex digit stands for exactly four bits, so long binary patterns (memory addresses, colours, machine code) are written compactly and converted easily.
How do I know whether a complement subtraction result is negative?
If adding the complement produces no end carry, the result is negative; take the complement of the result (1's or 2's, matching the method) and put a minus sign.
Do I need to multiply numbers with fractional parts?
No. The syllabus limits multiplication in different bases to numbers without decimals (fractional parts).
Based on: CISCE ISC 2028 Computer Science syllabus (Classes XI and XII); CISCE Regulations for the ISC Examination Year 2028 (Class XI internal examination)