Hexadecimal calculator using swift | Computer Science homework help

Implement a hexadecimal calculator for iOS. Requirements:

• The calculator should support 4 basic arithmetic operations: + – * and /

• The calculator will operate on hexadecimal numbers, not decimal numbers

• The calculator only needs to operate on unsigned integers (i.e. UInt). You do not need to consider negative numbers or fractions.

• The calculator should support the 16-digit hexadecimal numbers (i.e. The range of the numbers is from 0 to FFFF FFFF FFFF FFFF). Prevent the user from entering a number that is greater than FFFF FFFF FFFF FFFF.

• The calculator should handle overflow and underflow gracefully. The app must not crash.

• The calculator should handle division-by-zero error gracefully. The app must not crash.

• The calculator should be able to support most of the devices and orientations. If it does not support the old devices earlier than iPhone 6, it is okay.

Hint:

• To convert a string to a hex number, use “radix: 16” as an argument.

For example: var s:String?

s = “1A”

var intHex:UInt = 0

print(intHex)

// shows 26

intHex = 90

print(s!)

// shows 5A

• It is recommended that you use a UI label instead of a text field, so that the user will not type directly by using a keyboard. You will need to provide a button for each digit.

• Strings may be concatenated by using + operator.

E.g. var s1 = “1234” var s2 = “5”

print(s1 + s2)

// shows 12345

You may want to do string concatenation in the action of each digit button.

• To prevent the user from entering a number exceeding the size of 16 digits, you may verify the length of the string associated with the UI label.

• To handle overflow and underflow, use &+, &-, and &* instead of +, -, and *.

• To support different devices and orientations, use stack view, scroll view, or both.