int

2010-01-01 15 views
10

के रूप में एक फ्लोट के बिट्स को दोबारा परिभाषित करने के लिए निम्न C++ कोड के जावा समतुल्य क्या है?

int

float f=12.5f; 
int& i = reinterpret_cast<int&>(f); 
+0

आप यदि कोड सफलतापूर्वक चलता जाँच था ?? यह 'int और i = r_c (f)' – SuperSaiyan

+3

होना चाहिए यह वास्तव में किसी भी भाषा में अनुवाद योग्य नहीं है। यह एक int के रूप में फ्लोट के बिट्स की व्याख्या कर रहा है !!! इसका क्या मतलब है? चूंकि फ़्लोटिंग पॉइंट का प्रतिनिधित्व मानक द्वारा अपरिभाषित है, इसका अर्थ केवल तभी होता है जब आप समझते हैं कि आपके कंपाइलर/हार्डवेयर द्वारा फ़्लोटिंग पॉइंट प्रस्तुति का उपयोग किया जाता है और यह पता चलता है कि यह नक्शा जावा फ़्लोटिंग पॉइंट प्रस्तुति में है। –

+3

मार्टिन यॉर्क ने जो कहा, इसके अलावा, यह तकनीकी रूप से एक संदर्भ/कार्यान्वयन-परिभाषित मैपिंग * को संदर्भ संदर्भ से फ्लोट संदर्भ से कर रहा है। कड़ाई से बोलते हुए, इस बात की कोई गारंटी नहीं है कि परिणामी int संदर्भ एक ही वस्तु को उपनाम करेगा। – jalf

उत्तर

24
float f = 12.5f; 
int i = Float.floatToIntBits(f); 
+1

+1 ........... :) –

+1

जिज्ञासा से, आपने जो पोस्ट किया है और एक int i = (int) f; के बीच क्या अंतर है ?? –

+3

@Montecristo: (int) जावा में f static_cast (f) C++ में है। – missingfaktor

संबंधित मुद्दे