c#: Convert from and to custom floating point format
$10-30 USD
Completed
Posted over 5 years ago
$10-30 USD
Paid on delivery
I have a custom floating point format that I need to create a function in c# (up to .net 4.0 can be used) that converts a "normal" eg. .net standard float to the listed format below and a funktion to go from the custom format and back.
3.5.2 Floating-Point Format
The floating point format is based on 32 Bits with the following format:
where m - 24-bit mantissa
s - sign of the number
e - 7-bit exponent in excess 64 notation
The mantissa is considered to be a binary fixed point fraction and except for zero it is always normalised (has a one bit in its highest position). Thus, it represents a value of less than one but greater than or equal to one-half. The sign bit is a zero for a positive value, and a one for a negative value. The exponent is the power of two needed to correctly position the mantissa to reflect the number's true arithmetic value. It is held in excess 64 notation which means that the two's complement values are adjusted upward by 64, thus changing 40H (-64) - 3FH (+63) to 00H - 7FH. This facilitates comparisons among floating-point values. The value of zero is defined as all 32 bits being zeroes. The sign, exponent, and mantissa are entirely cleared. Thus, zeroes are always treated as positive.
The range allowed by this format is as follows:
DECIMAL
9.22337177 * 1018 > Pos. VALUE > 5.42101070 * 10-20
-9.22337177 * 1018 > Neg. VALUE > -2.71050535 * 10-20
BINARY (HEXADECIMAL)
.FFFFFF * 263 > Pos VALUE > .FFFFFF * 2-63
[login to view URL] * 263 > Neg VALLUE > [login to view URL] * 2-63
Hello, bitwise operations is easy thing for me.
Relevant Skills and Experience
I have over 8 years of experience with C# and .NET Framework
Proposed Milestones
$20 USD - Milestone Payment
$20 USD in 1 day
4.9 (809 reviews)
7.4
7.4
6 freelancers are bidding on average $33 USD for this job
Hello.
I have done a lot of C# project in the past, and I have accumulated a lot of knowledge and experience. Hire me. I will do my best to save your time and to ensure the best quality of work to satisfy you.