मैं फ़्लोट को बाइट्स [Word8] (और इसके विपरीत) की सूची में परिवर्तित करना चाहता हूं। मुझे लगता है कि एक स्टेरियल क्लास है जिसका उपयोग शायद इसके लिए किया जा सकता है, लेकिन मैं आईओ मोनैड का उपयोग करने से बचना चाहता हूं क्योंकि इसमें आईओ के साथ कुछ लेना देना नहीं है।मैं फ्लोट और [वर्ड 8] के बीच कैसे परिवर्तित कर सकता हूं?
उत्तर
आप क्या चाहते हैं? यदि आप फ्लोट और इसके वास्तविक बिट प्रतिनिधित्व के बीच कनवर्ट करना चाहते हैं, तो आप data-binary-ieee754 का उपयोग कर सकते हैं (Foreign.Storable
और unsafePerformIO
हुड के नीचे) या cereal-ieee754 का उपयोग कर सकते हैं। उत्तरार्द्ध Storable
या IO
का उपयोग नहीं करता है, यह STUArray
पर मान लिखता है, सरणी को रोकता है और दूसरे प्रकार के मान को पढ़ता है। दोनों पैकेज आपको Float <-> Word32
(या Double <-> Word64
) रूपांतरण प्रदान करते हैं, WordN
से [Word8]
को परिवर्तित करना आसान है।
आप नहीं चाहते कि आप बाइनरी चाहते हैं। binary package देखें।
फ्लोट और डबल उदाहरण प्रीलोड "एनकोड फ्लोट" और "डीकोड फ्लोट" फ़ंक्शन का उपयोग करते हैं, क्योंकि ये एक फ़्लोटिंग पॉइंट मान और पूर्णांक की एक जोड़ी के बीच परिवर्तित करने का एक कार्यान्वयन-स्वतंत्र तरीका है। फिर दो पूर्णांक बाइट्स में परिवर्तित हो जाते हैं।
मैं Data.Binary
लाइब्रेरी की अनुशंसा करता हूं।
यहाँ देखें:
decodeFloat :: RealFloat a => a -> (Integer, Int)
:
Prelude Data.Binary> encode (13.7 :: Double)
Chunk "\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\affffff\ESC\255\255\255\255\255\255\255\207" Empty
Prelude Data.Binary Data.ByteString.Lazy> Data.ByteString.Lazy.unpack $ encode (13.7 :: Double)
[1,1,0,0,0,0,0,0,0,7,102,102,102,102,102,102,27,255,255,255,255,255,255,255,207]
आप सोच रहे हैं कि क्यों यह दर्शाया है कि बड़ा है, यह Float
और Double
के लिए Binary
उदाहरण के कार्यान्वयन की वजह से है decodeFloat
फ़ंक्शन का उपयोग करता कार्यान्वयन को हास्केल रिपोर्ट के रूप में जेनेरिक के रूप में रखने के लिए किया जाता है (जो आईईईई 754 या उस तरह कुछ भी निर्दिष्ट नहीं करता है)।
Float
के वास्तविक बाइनरी प्रतिनिधित्व प्राप्त करने के लिए, आपको Storable
AFAIK का उपयोग करने की आवश्यकता है।
- 1. मैं एक फ्लोट कैसे गोल कर सकता हूं?
- 2. पर्ल में वैज्ञानिक और दशमलव नोटेशन के बीच मैं कैसे परिवर्तित कर सकता हूं?
- 3. MATLAB में RGB565 और RGB24 छवि प्रारूपों के बीच मैं कैसे परिवर्तित कर सकता हूं?
- 4. मैं एफ # सूची और एफ # टुपल के बीच कैसे परिवर्तित कर सकता हूं?
- 5. मैं फ्लोट बाएं कैसे रोक सकता हूं?
- 6. मैं फ्लोट में दो लाइनों के बीच एक क्षेत्र कैसे छाया कर सकता हूं?
- 7. मैं स्ट्रिंग को mysql में एक फ्लोट में कैसे परिवर्तित कर सकता हूं?
- 8. हास्केल वर्ड 8 कैसे बनाएं?
- 9. मैं पर्ल में एक इनपुट फ़ाइल को यूटीएफ -8 एन्कोडिंग में कैसे परिवर्तित कर सकता हूं?
- 10. मैं एक अनसेट फ्लोट और 0 के मूल्य के साथ अंतर कैसे कर सकता हूं?
- 11. मैं ci में midi से wav/mp3 के बीच कैसे परिवर्तित कर सकता हूं?
- 12. मैं पर्ल से यूटीएफ -8 कैसे आउटपुट कर सकता हूं?
- 13. मैं विंडोज 8 पर पर्ल कैसे स्थापित कर सकता हूं?
- 14. मैं एनएसडीएटा को एनएसएआरएआरए में कैसे परिवर्तित कर सकता हूं?
- 15. मैं FBProfilePictureView को UIImage में कैसे परिवर्तित कर सकता हूं?
- 16. मैं पैंडस डेटाफ्रेम में मानों को कैसे अलग कर सकता हूं और बाइनरी मैट्रिक्स में परिवर्तित कर सकता हूं?
- 17. मैं दशमलव कैसे परिवर्तित कर सकता हूं? दशमलव
- 18. मैं 'System.Windows.Input.Key' को 'System.Windows.Forms.Keys' में कैसे परिवर्तित कर सकता हूं?
- 19. मैं HTML को वस्त्र में कैसे परिवर्तित कर सकता हूं?
- 20. मैं NSMutableArray को NSString में कैसे परिवर्तित कर सकता हूं?
- 21. मैं पर्ल से सी कैसे परिवर्तित कर सकता हूं?
- 22. मैं चार पात्रों को पर्ल में 32-बिट आईईईई -754 फ्लोट में कैसे परिवर्तित कर सकता हूं?
- 23. मैं एक बाइट सरणी को डबल और बैक में कैसे परिवर्तित कर सकता हूं?
- 24. मैं माइक्रोसॉफ़्ट वर्ड से पेजब्रैक कैसे हटा सकता हूं?
- 25. मैं एक स्ट्रिंग को यूटीएफ -8 में एन्कोड किए गए स्ट्रिंग में कैसे परिवर्तित कर सकता हूं और इसके विपरीत?
- 26. बिट्स को बाइट्स में कैसे परिवर्तित कर सकता हूं?
- 27. मैं थोक खोज कैसे कर सकता हूं और पर्ल के साथ प्रतिस्थापित कैसे कर सकता हूं?
- 28. मैं चेतावनियों को कैसे ठीक कर सकता हूं: "हस्ताक्षरित और हस्ताक्षरित के बीच तुलना"?
- 29. मैं एक ईओएफ चरित्र, और फ़ाइल के वास्तविक अंत के बीच अंतर कैसे कर सकता हूं?
- 30. # डीफिन और फ्लोट के बीच अंतर?
अनाज-यानी 754 अब अनाज से संबंधित है। –
जानना अच्छा है। दुर्भाग्य से, रूपांतरण कार्यों को अब निर्यात नहीं किया जाता है। –
निश्चित रूप से आप परिणामी बाइटस्ट्रिंग को संसाधित करके रूपांतरण स्वयं बना सकते हैं? एक प्रदर्शन नुकसान होगा, हालांकि ... – ehird