Avatar ·

बिना जानकारी खोए float को integer के रूप में कैसे प्रस्तुत करें?

📁 पायथन, मदद, एआई

एक float मान को int मान में बदलने (एक float मान को एक int मान में) का कार्य है, बिना जानकारी खोए, यानी बाद में उल्टा रूपांतरण किया जा सके। इसे कैसे लागू किया जा सकता है?

महत्वपूर्ण

इस रूपांतरण में क्रम और योग बना रहना चाहिए,
अर्थात किसी भी a, b: float के लिए यह होना चाहिए:

to_float(to_int(a) + to_int(b)) == a + bto_int(a) < to_int(b) जब a < b और इसी तरह

मैंने अंग्रेजी SO पर पाया, जहां float मानों की संरचना को bitwise रूप से दर्शाया गया है, लेकिन मुझे समझ नहीं आता कि इसे अपने कार्य के लिए कैसे लागू करूं।

नोट: मेरे कार्य में NaN और inf को रूपांतरित करने की आवश्यकता नहीं है।


समाधान के प्रयास

शुरू में pickle.dumps का उपयोग करके serialization और फिर इन बाइट्स से int प्राप्त करने का विचार आया, लेकिन यह बिल्कुल कुशल नहीं है।