그래서 f에 대한 지수 값을 반환하려고합니다. x가 무한대 또는 NaN이면 Tmax를 반환해야합니다. f는 단 정밀도 부동 소수점 값의 비트 수준 표현으로 해석되어야하며 예는 부호없는 변수를 전달하는 것을 의미합니다. 나는 편향에 대한 적절한 가치를 제거 할 필요가 있음을 안다. 나는 그 방법을 이해할 수 없다. 원하는 모든 작업을 사용할 수 있지만 그 중 8 개만 사용할 수 있습니다 (= 계산하지 않음).C에서 부동 소수점의 지수 얻기
int float_exp(unsigned uf) {
int mask = 2139095040;
int hold;
hold = uf & mask;
if(mask == hold){
return Tmax;
} else {
return ;// something here???
}
}
지수를 얻는 방법을 알아낼 수 없습니다. 어떤 도움을 주시면 감사하겠습니다!
숙제가 아니면, 매뉴얼에서'frexp()'를 찾아보십시오. –
[이진수로 부동 소수점 나누기] (http://stackoverflow.com/questions/22159484/dividing-floating-point-numbers-by-half-in-binary)도 참조하십시오. 직접적인 복제물은 아니지만 밀접한 관련이 있습니다. –
@JonathanLeffler 귀하의 의견은 도움이되지 않습니다. – Shaw