Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Write a small library in the C programming language to do Minifloat (Links to an external site.) (8-bit binary floating-point numbers) operations. Notes You have
Write a small library in the C programming language to do Minifloat (Links to an external site.) (8-bit binary floating-point numbers) operations.
Notes
- You have to come up with a sensible representation and stay consistent throughout a library.
- The internal representation (e.g. a struct) does not have to match the external representation (e.g. just a binary pattern, or a pointer to an abstract data type).
- Be careful of memory leaks. For example, do not return a pointer to a local static variables in a function. Instead, allocate on the heap with malloc and then return the pointer to that.
Minimum requirements
Meeting these requirements will collect the regular points.
- add - Add two Minifloat numbers and return the result.
- mult - Multiply two Minifloat numbers and return the result.
Bonus requirements
Meeting these requirements will collect 500 extra points.
- Abstract data type (Links to an external site.) with proper header and source files.
- sub - Subtract two Minifloat numbers and return the result.
- div - Divide two Minifloat numbers and return the result.
- Input checking and rejection of out-of-bounds or improperly formatted Minifloat numbers by returning predefined special values. These values should be declared as constants in the header file.
Submission
Submit your code files:
- minifloat.h (required for bonus)
- minifloat.c (optional for minimum)
- test.c (required).
The last file contains a main function which runs at least two tests (with different operands) for each operation or feature (e.g. handling of improper input values) defined.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started