मैं दो 32 बिट पूर्णांक (int
) को एक 64 बिट long
और इसके विपरीत कैसे परिवर्तित कर सकता हूं?लंबे समय तक दो int और इसके विपरीत
उत्तर
देशांतर के Ints:
long c = ((long)a << 32) | ((long)b & 0xFFFFFFFL);
मैं इसे पाठक रिवर्स गणना प्रदर्शन करने के लिए एक व्यायाम के रूप में छोड़ देंगे। लेकिन संकेत है; अधिक बिट-शिफ्ट और bit-masks का उपयोग करें।
क्या यह 'b <0 के साथ सही ढंग से काम करता है '? –
@AleksG: अच्छा पकड़ो! –
मुझे लगता है कि परिस्थितियों को देखते हुए बी को पहले ही मान्य माना जा सकता है। – Tharwen
long c = (long)a << 32 | b & 0xFFFFFFFFL;
int aBack = (int)(c >> 32);
int bBack = (int)c;
जावा में, आपको बहुत सारे कोष्ठक, या रिवर्स गणना पर कोई मास्किंग की आवश्यकता नहीं है।
पट्टेदार: 'के लिए (लंबा i = Long.MIN_VALUE; i <= Long.MAX_VALUE; i ++) {... ' –
2 9 2 साल इससे भी कम है। मेरा कंप्यूटर भी 2 9 2 साल का दावा करता है, जैसा कि हर कोई एल्स होगा। मेरे लिए '(स्टॉप - स्टार्ट) * 2.0/रेप्स * लांग.एमएक्स_वीएमएल) '1.207154932183553E22 है जबकि लॉन्ग.मैक्सवेल्यू 9 223372036854775807 है, इसलिए जब' लंबा 'होता है तो हर कोई 9223372036854775807 के साथ समाप्त होता है। जैसा कि 1/1308 वां है सही मूल्य वास्तव में 382,000 साल होना चाहिए। (फिर भी +1 हालांकि वास्तविक उत्तर सही है) –
हाहा, बहुत अच्छा रिचर्ड। मैं कभी भी मिलिस-टू-कुछ और रूपांतरण को मैन्युअल रूप से करने की आदत में नहीं हूं, लेकिन मैं शायद ही कभी सैकड़ों (या सैकड़ों हजारों) वर्षों में मिलीसेकंद संकल्प प्राप्त करने का प्रयास करता हूं। जैसा कि मैं अब शिक्षक नहीं हूं, मैं बस पूरे "अभ्यास" बिट को संपादित कर दूंगा। जवाब इतना लंबा होने की आवश्यकता नहीं है। – Fuwjax
- 1. क्या लंबे और लंबे समय तक पूर्णांक
- 2. लंबे समय तक XMLGregorian कैलेंडर और लंबे समय तक
- 3. पाइथन int और लंबे समय तक कैसे प्रबंधित करता है?
- 4. बिटवाई "और" लंबे समय तक?
- 5. क्या जीसीसी लंबे समय तक int का समर्थन करता है?
- 6. int के लिए पूर्णांक पास करना और इसके विपरीत
- 7. लंबे समय तक लाइनों()
- 8. लंबे समय तक
- 9. 32 बिट मशीनों पर लंबे समय तक int
- 10. jQuery और लंबे समय तक पूर्णांक आईडी
- 11. लंबे डबल बनाम लंबे int
- 12. बाइट [] और इसके विपरीत स्ट्रिंग?
- 13. लंबे समय तक विस्तृत w/दो दोहराए गए उपायों
- 14. जावा लंबे समय तक बाइनरी
- 15. लंबे समय तक आइटम हटाएं
- 16. जावा: लंबे समय तक टिमस्टैम्प
- 17. लंबे समय तक कास्ट करें
- 18. सी ++ int बनाम लंबे
- 19. एनएसएममेज से सीवी :: मैट और इसके विपरीत
- 20. सबसे लंबे समय तक सामान्य उपसर्ग ऐरे
- 21. MySQL अपडेट (भी) लंबे समय तक लेना
- 22. std :: streampos, std :: streamoff और std :: लंबे समय तक intsize?
- 23. टाइप ऑब्जेक्ट से लेकर लंबे समय तक
- 24. सबसे लंबे समय तक बढ़ने वाले सब्सक्रिप्शन
- 25. कास्ट टी टू बूल और इसके विपरीत
- 26. जावा लंबे समय में दो इन्स भंडारित करता है
- 27. लेखन लंबे समय तक मतदान डब्ल्यूसीएफ सेवा
- 28. स्ट्रिंग को लंबे समय तक परिवर्तित करें
- 29. SQLite लंबे प्रारूपों के लिए लंबे समय तक?
- 30. MySQL सॉर्टिंग परिणाम लंबे समय तक
आप उन्हें किस तरह से परिवर्तित करना चाहते हैं? एक संभावना: (एक << Integer.SIZE) | बी –
हस्ताक्षर या हस्ताक्षरित? अगर हस्ताक्षरित है, तो ऋणात्मक मूल्यों का क्या अर्थ होगा? –
[जावा में लंबे समय तक दो इंट्स भंडारित करने का संभावित डुप्लिकेट] (https://stackoverflow.com/questions/12772939/java-storing-two-ints-in-a-long) – Vadzim