아암 텍스 M4F 프로세서에서와 같이, 부동 소수점 레지스터에 즉치 상수를로드하는 명령을 보유 +/- mx 2 -n으로 표현 될 수 있으며, 여기서 m은 16-31 범위의 정수이고 n은 0-7 범위의 정수입니다. 예를 들어 m = 27 및 n = 2 인 6.75를 얻을 수 있기 때문에 위의 지침이 작동합니다.허용되는 ARM Cortex-M4F 부동 소수점 즉시 처리 알고리즘?</p> <pre><code> VMOV S0,+6.75 </code></pre> <p>그러나, 상수 값이 한정되어 있고 값이 같아야한다 :
특정 실수가 이런 식으로 표현 될 수 있는지 여부를 결정하는 알고리즘을 찾고 싶다면 m과 n의 해당 값을 제공하십시오.
뛰어난 통찰력이 있습니까?
단
FWIW, 내가 답을 알고하지 않습니다,하지만 그들은 처음부터 그런 지시를 인코딩 할 때 무엇을해야 어셈블러 정확하게 때문에 나는 간단한 방법이 존재해야한다는 것을 추론 _can_.약간의 문제를 해결하기 위해 [여기 어셈블러가 있습니다] (https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=gas/config/tc-arm.c;h= 061aaa8222d03f6e52953ae3fdcd1e047d7bbee3; hb = HEAD # l4995) - 어떤 부두가 시작 되든 시작하는 것은 일반적인 IEEE754 플로트와 같은 것으로 보이므로, 그 중 하나로서 표현 될 수 있는지 여부를 파악해야합니다. – Notlikethat
C 수학 라이브러리를 사용할 수 있다면 frexp가 시작하는 방법 일 수 있습니다 – dmuir