Czy istnieje odpowiednik Javy dla funkcji C/C++ o nazwie frexp? Jeśli nie jesteś obeznany, frexp to defined by Wikipedia, aby "zepsuć liczbę zmiennoprzecinkową w mantysę i wykładnik".Czy istnieje odpowiednik frexp w języku Java?
Szukam wdrożenia z szybkością i dokładnością, ale wolałabym mieć dokładność, gdybym tylko mogła wybrać.
To jest przykład kodu z pierwszego numeru referencyjnego. Powinna ona umowę frexp trochę bardziej jasne:
/* frexp example */
#include <stdio.h>
#include <math.h>
int main()
{
double param, result;
int n;
param = 8.0;
result = frexp (param , &n);
printf ("%lf * 2^%d = %f\n", result, n, param);
return 0;
}
/* Will produce: 0.500000 * 2^4 = 8.000000 */
Myślałem, że pakiet Math Apache Commons może być dobrym miejscem do znalezienia tego, ale nic tam nie widziałem. Być może mógłbyś dodać do niego żądanie funkcji? Lub, jeśli zdecydujesz się sam to zakodować, porozmawiaj z nimi o włączeniu go do biblioteki - wydaje się przydatnym dodatkiem do mnie. – Carl
@Carl, zgadzam się, że byłoby to przydatne. Bardzo dobrze znam siebie i moją pracę, więc nie zamierzam próbować tworzyć jej samodzielnie. Jestem pewien, że mogłem wykonać 80% pracy w 80% poprawnie z czasem, który muszę zainwestować i to jest bardzo bliskie niż bezużyteczne ... –
prawdziwe pytanie brzmi: dlaczego frexp nie łamie float na dwie liczby całkowite, ale chce co najmniej float. Dla dekompozycji float, która nie ma sensu (myśl rekurencja .....) –