배경
IEEE 754 배정 밀도 부동 소수점 형식 은 64 비트로 실수를 나타내는 방법입니다. 다음과 같습니다.
![]()
실수 는 다음과 같은 방식으로 n변환됩니다 double.
s숫자가 양수이면 부호 비트 는 0이고, 그렇지 않으면 1입니다.- 의 절대 값은 2 의 거듭 제곱 에 밑
n의 형태로 표시됩니다 .2**y * 1.xxx - 지수
e는y(2의 거듭 제곱)에서 1023을 뺀 값입니다. - 분수
f는xxx가장 중요한 52 비트를 취하는 부분 (베이스의 분수 부분)입니다.
반대로, 비트 패턴 (sign s, exponent e및 fraction로 정의되고 f각각 정수)은 숫자를 나타냅니다.
(s ? -1 : 1) * 2 ** (e - 1023) * (1 + f / (2 ** 52))
도전
실수가 주어지면 n, double표현의 52 비트 분수 부분을 n정수로 출력하십시오.
테스트 사례
0.0 => 0
1.2 => 900719925474099 (hex 3333333333333)
3.1 => 2476979795053773 (hex 8cccccccccccd)
3.5 => 3377699720527872 (hex c000000000000)
10.0 => 1125899906842624 (hex 4000000000000)
1234567.0 => 798825262350336 (hex 2d68700000000)
1e-256 => 2258570371166019 (hex 8062864ac6f43)
1e+256 => 1495187628212028 (hex 54fdd7f73bf3c)
-0.0 => 0
-1.2 => 900719925474099 (hex 3333333333333)
-3.1 => 2476979795053773 (hex 8cccccccccccd)
-3.5 => 3377699720527872 (hex c000000000000)
-10.0 => 1125899906842624 (hex 4000000000000)
-1234567.0 => 798825262350336 (hex 2d68700000000)
-1e-256 => 2258570371166019 (hex 8062864ac6f43)
-1e+256 => 1495187628212028 (hex 54fdd7f73bf3c)
비트 필드와 공용체를 사용 하는 이 C 참조 를 사용 하여 다른 숫자를 확인할 수 있습니다 .
예상 답변을 위해 동일합니다 +n및 -n임의의 번호 n.
입력과 출력
표준 규칙이 적용됩니다.
허용되는 입력 형식 :
- 적어도
double내부적으로 정밀도를 갖는 부동 소수점 숫자 - 진수 숫자의 문자열 표현 (당신이 사용할 수 있기 때문에 당신이 과학적 표기법을 지원 할 필요가 없습니다
1000...00또는0.0000...01입력으로)
출력의 경우 최하위 비트에서의 반올림 오류는 허용됩니다.
승리 조건
이것은 code-golf 이므로 각 언어에서 가장 낮은 바이트가 이깁니다.