क्या frexp नामक सी/सी ++ फ़ंक्शन का जावा समतुल्य है? यदि आप परिचित नहीं हैं, तो frexp defined by Wikipedia है "मंथिसा और एक्सपोनेंट में फ़्लोटिंग-पॉइंट नंबर को तोड़ने के लिए।"क्या जावा का फ्रीएक्सपी बराबर है?
मैं गति और सटीकता दोनों के साथ कार्यान्वयन की तलाश में हूं, लेकिन अगर मैं केवल एक चुन सकता हूं तो मुझे सटीकता होगी।
यह पहले संदर्भ से कोड नमूना है। यह frexp अनुबंध थोड़ा और स्पष्ट करना चाहिए:
/* 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 */
मैंने सोचा कि अपाचे कॉमन्स मैथ पैकेज यह ढूंढने के लिए एक अच्छी जगह हो सकता है, लेकिन मैंने वहां कुछ भी नहीं देखा। शायद आप इसके लिए एक फीचर अनुरोध डाल सकते हैं? या, यदि आप इसे स्वयं कोड करने का निर्णय लेते हैं, तो लाइब्रेरी में इसे शामिल करने के बारे में उनसे बात करें - मेरे लिए एक उपयोगी जोड़ जैसा लगता है। – Carl
@ करल, मैं मानता हूं कि यह उपयोगी होगा। मैं खुद को और मेरा वर्कलोड बहुत अच्छी तरह से जानता हूं, इसलिए, मैं इसे स्वयं बनाने की कोशिश करने के लिए प्रतिबद्ध नहीं हूं। मुझे यकीन है कि मैं 80% काम 80% सही तरीके से कर सकता हूं, जब मुझे निवेश करना पड़ता है और यह बेकार से भी बदतर है .... –
असली सवाल यह है: क्यों frexp टूट नहीं जाता है दो पूर्णांक में तैरें, लेकिन कम से कम एक फ्लोट चाहता है .. एक फ्लोट अपघटन के लिए जो समझ में नहीं आता है (लगता है कि रिकर्सन .....) –