Ваше завдання - написати програму будь-якою мовою, яка додає два числа з плаваючою комою БЕЗ використання будь-якої математики дробової чи плаваючої точки. Математика з цілим числом дозволена.
Формат
Формат для чисел - це рядки, що містять 1 і 0, які представляють двійкове значення 32-бітного плаваючого кода IEEE 754 . Наприклад, число 2,54 буде представлено рядком "01000000001000101000111101011100".
Мета
Програма повинна ввести два числа у вищезгаданому форматі, додати їх разом і вивести результат у тому ж форматі. Найкоротша відповідь будь-якою мовою виграє!
Правила
Абсолютно ніякі функції з плаваючою комою, десятковими чи будь-якими не математичними функціями не допускаються.
Ви можете припустити, що вхід чистий (тобто містить лише 1 і 0).
Можна припустити, що вхідні дані - це числа, а не Inf, -Inf або NaN або субнормальні. Однак якщо результат більший за максимальне значення або менший за мінімальне значення, слід повернути Inf і -Inf відповідно. Субнормальний (денормальний) результат може бути зведений до 0.
Вам не доведеться правильно обробляти округлення. Не хвилюйтеся, якщо ваші результати вийдуть за кілька біт.
Тести
Щоб перевірити свої програми, ви можете перетворити між десятковими і двійковими числами з плаваючою комою за допомогою цього інструменту .
1000 + 0,5 = 1000,5
01000100011110100000000000000000 + 00111111000000000000000000000000 = 01000100011110100010000000000000
float.MaxValue + float.MaxValue = Нескінченність
01111111011111111111111111111111 + 01111111011111111111111111111111 = 01111111100000000000000000000000
321.123 + -123.321 = 197.802
01000011101000001000111110111110 + 11000010111101101010010001011010= 01000011010001011100110101010000
Удачі!