#include #include char toFloat(float arg) { int exponent = (int) log2f(arg); if (exponent + 7 >= 15) { return (char) 0x7F; // Maximum representable value } else if (exponent + 7 <= 0) { return (char) 0; } else { exponent += 7; } int mantissa = (int)((arg / powf(2, exponent - 7)) * powf(2, 4)); char result = (char)((exponent << 4) | mantissa); return result; } int main() { float input = 5.25; // Example input char result = toFloat(input); printf("Original float: %f\n", input); printf("8-bit floating point representation: %d\n", result); return 0; }