당신의 작업은 분수 또는 부동 소수점 수학을 사용 하지 않고 두 개의 부동 소수점 숫자를 더하는 프로그램을 모든 언어로 작성하는 것 입니다. 정수 수학이 허용됩니다.
체재
숫자의 형식은 IEEE 754 32 비트 float 의 2 진 값을 나타내는 1과 0을 포함하는 문자열 입니다. 예를 들어 숫자 2.54는 문자열 "01000000001000101000111101011100"으로 표시됩니다.
골
프로그램은 위에서 언급 한 형식으로 두 개의 숫자를 입력하고 함께 더한 다음 동일한 형식으로 결과를 출력해야합니다. 모든 언어에서 가장 짧은 답변이 이깁니다!
규칙
부동 소수점, 십진 또는 정수가 아닌 수학 함수는 절대 허용되지 않습니다.
입력이 깨끗하다고 가정 할 수 있습니다 (예 : 1과 0 만 포함).
입력이 숫자이며 Inf, -Inf 또는 NaN이 아닌 숫자라고 가정 할 수 있습니다. 그러나 결과가 최대 값보다 크거나 최소값보다 작은 경우 각각 Inf 및 -Inf를 반환해야합니다. 비정규 (비정상) 결과는 0으로 플러시 될 수 있습니다.
반올림을 올바르게 처리하지 않아도됩니다. 결과가 몇 비트인지 걱정하지 마십시오.
테스트
프로그램을 테스트하기 위해이 도구를 사용하여 10 진수와 부동 소수점 이진수를 변환 할 수 있습니다 .
1000 + 0.5 = 1000.5
01000100011110100000000000000000 + 00111111000000000000000000000000 = 01000100011110100010000000000000
float.MaxValue + float.MaxValue = 무한대
01111111011111111111111111111111 + 01111111011111111111111111111111 = 01111111100000000000000000000000
321.123 + -123.321 = 197.802
01000011101000001000111110111110 + 11000010111101101010010001011010= 01000011010001011100110101010000
행운을 빕니다!