부동소수점 형식 변환
시간 제한1초메모리 제한256 MB
8자리 16진수 Gould 부동소수점 값을 버림과 무한대 및 비정규 수 처리 규칙에 따라 IEEE 754 단정밀도 16진수 값으로 변환합니다.
문제
지금은 쓰이지 않는 Gould 부동소수점 형식으로 적은 수를 IEEE 754 단정밀도 형식으로 가능한 한 정확하게 옮기려 한다.
Gould 형식은 32비트다.

부호 비트 1개, 지수부 7비트, 가수부 24비트로 이루어지고, 이 32비트를 16진수 8자리로 적는다. 가수부는 앞의 세 비트까지 0이 될 수 있다. 이 형식이 나타내는 값은 다음과 같다.
는 부호 비트, 는 지수부, 는 가수부다. 0은 32비트가 모두 0인 형태로 적는다.
IEEE 754 단정밀도 형식도 32비트다.

부호 비트 1개, 지수부 8비트, 가수 24비트로 이루어진다. 정규화된 수에서 가수의 맨 앞 비트는 항상 1이므로 그 비트는 저장하지 않고, 가수부를 23비트로 적는다.
지수부가 0도 아니고 255도 아니면 정규화된 수이고, 값은 다음과 같다.
지수부가 255이고 가수부가 0이면 양의 무한대 또는 음의 무한대이며, 어느 쪽인지는 부호 비트가 정한다.
지수부가 255이고 가수부가 0이 아니면 수가 아닌 값이고, 이 문제에서는 다루지 않는다.
지수부가 0이고 가수부가 0이면 +0 또는 -0이며, 부호 비트로 구분한다.
지수부가 0이고 가수부가 0이 아니면 비정규 값이고, 값은 다음과 같다.
Gould 형식으로 적은 수가 주어지면 다음 규칙에 따라 옮긴다.
- 값이 0이면 +0을 출력한다.
- 정규화된 IEEE 수로 담기에 너무 크면 양의 무한대 또는 음의 무한대를 출력한다. 부호는 부호 비트를 따른다.
- 정규화된 IEEE 수로 담기에 너무 작으면, 비정규 값으로 나타낼 수 있을 때는 비정규 식으로 계산한 결과를 출력하고, 나타낼 수 없을 때는 +0 또는 -0을 출력한다. 부호는 부호 비트를 따른다.
- 나머지 경우에는 정규화된 IEEE 값을 출력한다.
가수를 옮길 때 비트가 모자라면 모자란 아래 자리를 0으로 채우고, 비트가 남으면 남는 아래 비트를 버린다. 반올림은 하지 않는다.
입력
첫 줄에 테스트 케이스의 수 가 주어진다. ()
이어지는 개의 줄에는 각각 테스트 케이스의 번호와 Gould 형식으로 적은 수 하나가 공백으로 구분되어 주어진다. 이 수는 숫자 0부터 9까지와 대문자 A부터 F까지로만 이루어진 16진수 8자리다.
출력
각 테스트 케이스마다 테스트 케이스의 번호와 옮긴 IEEE 값을 공백으로 구분해 한 줄에 출력한다. IEEE 값은 대문자 16진수 8자리로 적는다.