Bird
Raised Fist0
Swiftprogramming~10 mins

Arithmetic operators and overflow in Swift - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to add two integers and store the result.

Swift
let sum = 5 [1] 3
Drag options to blanks, or click blank then click option'
A+
B-
C/
D*
Attempts:
3 left
💡 Hint
Common Mistakes
Using subtraction or multiplication instead of addition.
2fill in blank
medium

Complete the code to multiply two integers and store the result.

Swift
let product = 7 [1] 4
Drag options to blanks, or click blank then click option'
A/
B*
C-
D+
Attempts:
3 left
💡 Hint
Common Mistakes
Using addition or division instead of multiplication.
3fill in blank
hard

Fix the error in the code to correctly handle overflow addition.

Swift
let result = UInt8.max [1] 1
Drag options to blanks, or click blank then click option'
A-
B+
C&+
D&-
Attempts:
3 left
💡 Hint
Common Mistakes
Using normal addition operator which causes runtime error on overflow.
4fill in blank
hard

Fill both blanks to perform overflow subtraction and multiplication.

Swift
let difference = UInt8.min [1] 1
let product = 10 [2] 20
Drag options to blanks, or click blank then click option'
A&-
B*
C+
D&+
Attempts:
3 left
💡 Hint
Common Mistakes
Using normal subtraction which causes error on underflow.
5fill in blank
hard

Fill all three blanks to create a dictionary with keys as strings and values as overflow sums.

Swift
let results = ["a": 5 [1] 250, "b": 10 [2] 245, "c": 15 [3] 240]
Drag options to blanks, or click blank then click option'
A&+
B+
C-
D&-
Attempts:
3 left
💡 Hint
Common Mistakes
Using normal + operator which can cause overflow errors.

Practice

(1/5)
1. What happens in Swift when you add two Int8 numbers and the result exceeds the maximum value of Int8 without using overflow operators?
easy
A. The program causes a runtime error and stops.
B. The result wraps around automatically without error.
C. The result is set to zero.
D. Swift converts the result to a larger integer type automatically.

Solution

  1. Step 1: Understand Int8 limits

    Int8 can hold values from -128 to 127. Adding beyond 127 causes overflow.
  2. Step 2: Behavior without overflow operators

    Swift checks for overflow and triggers a runtime error if it happens without using special operators.
  3. Final Answer:

    The program causes a runtime error and stops. -> Option A
  4. Quick Check:

    Overflow without &+ causes error [OK]
Hint: Overflow without &+ causes runtime error in Swift [OK]
Common Mistakes:
  • Thinking Swift wraps values automatically without &+
  • Assuming Swift converts to bigger type automatically
  • Believing result resets to zero on overflow
2. Which of the following is the correct syntax to add two UInt8 numbers allowing overflow in Swift?
easy
A. let result = a &+ b
B. let result = a ++ b
C. let result = a + b
D. let result = a add b

Solution

  1. Step 1: Recall overflow operators in Swift

    Swift uses &+ for addition with overflow allowed.
  2. Step 2: Check each option

    let result = a &+ b uses &+ correctly; others are invalid or normal addition without overflow.
  3. Final Answer:

    let result = a &+ b -> Option A
  4. Quick Check:

    Use &+ for overflow addition [OK]
Hint: Use &+ for overflow addition in Swift [OK]
Common Mistakes:
  • Using + instead of &+ for overflow
  • Using ++ which is invalid in Swift
  • Trying non-existent operators like 'add'
3. What is the output of the following Swift code?
let maxValue: UInt8 = 255
let result = maxValue &+ 1
print(result)
medium
A. 256
B. Runtime error
C. 255
D. 0

Solution

  1. Step 1: Understand UInt8 max value and overflow

    UInt8 max is 255. Adding 1 with &+ causes overflow wrapping to 0.
  2. Step 2: Evaluate the code output

    Using &+ allows overflow, so 255 + 1 wraps to 0 without error.
  3. Final Answer:

    0 -> Option D
  4. Quick Check:

    UInt8 overflow wraps to 0 with &+ [OK]
Hint: &+ wraps UInt8 overflow to 0 [OK]
Common Mistakes:
  • Expecting 256 which is out of UInt8 range
  • Expecting runtime error without &+
  • Thinking result stays 255
4. Identify the error in this Swift code snippet:
var x: Int8 = 120
x = x + 10
print(x)
medium
A. No error, prints 130
B. Syntax error: cannot assign to variable
C. Runtime error due to overflow
D. Compile-time error: type mismatch

Solution

  1. Step 1: Check Int8 range and operation

    Int8 max is 127. Adding 10 to 120 results in 130, which is overflow.
  2. Step 2: Understand Swift overflow behavior without &+

    Normal + operator causes runtime error on overflow.
  3. Final Answer:

    Runtime error due to overflow -> Option C
  4. Quick Check:

    Int8 overflow without &+ causes runtime error [OK]
Hint: Int8 overflow without &+ triggers runtime error [OK]
Common Mistakes:
  • Assuming it prints 130 ignoring overflow
  • Thinking it's a syntax or compile error
  • Believing variable assignment is invalid
5. You want to safely multiply two Int8 numbers that might overflow. Which Swift code correctly handles overflow and prints the wrapped result?
let a: Int8 = 100
let b: Int8 = 2
// Fill in the blank
print(result)
hard
A. let result = a * b
B. let result = a &* b
C. let result = a *& b
D. let result = multiply(a, b)

Solution

  1. Step 1: Recall overflow multiplication operator

    Swift uses &* to multiply with overflow allowed.
  2. Step 2: Check options for correct syntax

    let result = a &* b uses &* correctly; others are invalid or normal multiplication without overflow.
  3. Final Answer:

    let result = a &* b -> Option B
  4. Quick Check:

    Use &* for overflow multiplication [OK]
Hint: Use &* to multiply with overflow in Swift [OK]
Common Mistakes:
  • Using * instead of &* for overflow
  • Using invalid operator *&
  • Assuming a multiply() function exists
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard