मैं बार्लरी स्ट्रिंग $x_bin="0001001100101"
को अपने अंकीय मूल्य $x_num=613
पर पर्ल में कैसे परिवर्तित कर सकता हूं?मैं एक बाइनरी स्ट्रिंग को पर्ल में किसी संख्या में कैसे परिवर्तित करूं?
उत्तर
sub bin2dec {
return unpack("N", pack("B32", substr("0" x 32 . shift, -32)));
}
मेरे पसंदीदा तरीका है:
$x_num = oct("0b" . $x_bin);
man perlfunc
से हवाला देते हुए:
oct EXPR oct Interprets EXPR as an octal string and returns the corresponding value. (If EXPR happens to start off with "0x", interprets it as a hex string. If EXPR starts off with "0b", it is interpreted as a binary string. Leading whitespace is ignored in all three cases.)
वह है ... चौंकाने वाला। धन्यवाद। – innaM
@edg: 32 बिट प्लेटफ़ॉर्म पर इसकी अपेक्षा की जा सकती है; पोर्टेबिलिटी चेतावनी के बावजूद 64 बिट्स के साथ मेरे लिए काम करता है। – ysth
मैं हमेशा पैक का उपयोग करता था, लेकिन मैंने बस पैक, ऑक्टेट, और बिट :: वेक्टर का बेंचमार्क किया और यह तीनों में से सबसे तेज़ है। यह बिट :: वेक्टर से 1449% तेज है और मेरे सिस्टम पर पैक से 316% तेज है। – gpojd
हमेशा की तरह, वहाँ भी एक उत्कृष्ट CPAN मॉड्यूल है कि यहाँ उल्लेख किया जाना चाहिए है है: Bit::Vector ।
परिवर्तन कुछ इस तरह दिखेगा:
use Bit::Vector;
my $v = Bit::Vector->new_Bin(32, '0001001100101');
print "hex: ", $v->to_Hex(), "\n";
print "dec: ", $v->to_Dec(), "\n";
द्विआधारी तार लगभग किसी भी लम्बाई के हो सकता है और आप थोड़ा-स्थानांतरण जैसे अन्य स्वच्छ सामान, आदि
वास्तव में क्या कर सकते हैं आप बस कर सकते हैं सामने '0 बी' छड़ी और इसे बाइनरी संख्या के रूप में माना जाता है।
perl -le 'print 0b101'
5
लेकिन यह केवल एक शब्दकोष के लिए काम करता है।
आप नंगे शब्द प्रतिबंध के आसपास काम करने के लिए eval()
विधि का उपयोग कर सकते हैं:
eval "\$num=0b$str;";
- 1. मैं पर्ल में एक स्ट्रिंग को एक नंबर में कैसे परिवर्तित कर सकता हूं?
- 2. Erlang में मैं एक स्ट्रिंग को बाइनरी मान में कैसे परिवर्तित करूं?
- 3. मैं पर्ल में वाईएएमएल को एक्सएमएल में कैसे परिवर्तित करूं?
- 4. मैं एक सिंगल को स्ट्रिंग में कैसे परिवर्तित करूं?
- 5. मैं एक org.w3c.dom.Document ऑब्जेक्ट को स्ट्रिंग में कैसे परिवर्तित करूं?
- 6. पायथन में मैं एक अंक संख्या को दो अंकों वाली स्ट्रिंग में कैसे परिवर्तित करूं?
- 7. मैं एक यूआईसीओलर को हेक्साडेसिमल स्ट्रिंग में कैसे परिवर्तित करूं?
- 8. मैं एनएसएट्रिब्यूटेड स्ट्रिंग को HTML स्ट्रिंग में कैसे परिवर्तित करूं?
- 9. मैं जावा में एक स्ट्रिंग में इनपुटस्ट्रीम कैसे परिवर्तित करूं?
- 10. मैं पर्ल में किसी संख्या को टेक्स्ट में कैसे परिवर्तित कर सकता हूं?
- 11. मैं nchar को स्ट्रिंग में सी # में कैसे परिवर्तित करूं?
- 12. मैं सकारात्मक संख्या को नकारात्मक में कैसे परिवर्तित करूं?
- 13. मैं स्ट्रिंग को क्लास विधि में कैसे परिवर्तित करूं?
- 14. मैं StreamReader को स्ट्रिंग में कैसे परिवर्तित करूं?
- 15. एक हेक्स-एन्कोडेड स्ट्रिंग को पर्ल में बाइट स्ट्रिंग में कैसे परिवर्तित करें?
- 16. मैं पर्ल में एक स्ट्रिंग की लंबाई कैसे प्राप्त करूं?
- 17. मैं स्ट्रिंग में पर्ल हैश तत्व को कैसे विभाजित करूं?
- 18. मैं स्ट्रिंग को कम केस प्रस्तुति में कैसे परिवर्तित करूं?
- 19. मैं हेक्स स्ट्रिंग को हस्ताक्षरित पूर्णांक में कैसे परिवर्तित करूं?
- 20. ओकैमल - मैं int को स्ट्रिंग में कैसे परिवर्तित करूं?
- 21. मैं स्ट्रिंग वर्णों को सूची में कैसे परिवर्तित करूं?
- 22. मैं जावास्क्रिप्ट में किसी संख्या को कैसे गोल करूं?
- 23. मैं पाइथन में हेक्स को दशमलव में कैसे परिवर्तित करूं?
- 24. मैं जावास्क्रिप्ट में किसी फ़ंक्शन में JSON स्ट्रिंग को कैसे परिवर्तित करूं?
- 25. मैं स्ट्रिंग को Io में किसी सूची में कैसे परिवर्तित करूं?
- 26. मैं एक एनएसएमयूटेबलस्ट्रिंग को नियमित एनएसएसटींग में कैसे परिवर्तित करूं?
- 27. मैं पर्ल में किसी फ़ंक्शन में हैश कैसे पास करूं?
- 28. मैं एक ऐरे [स्ट्रिंग] को एक सेट [स्ट्रिंग] में कैसे परिवर्तित करूं?
- 29. मैं स्ट्रिंगस्ट्रीम से सी ++ में स्ट्रिंग में कैसे परिवर्तित करूं?
- 30. बाइनरी स्ट्रिंग को दशमलव में कैसे परिवर्तित करें?
हर उपकरण मैं पूछता हूँ मुझसे कहता है कि 111111111111111111111111111111111 8589934591. करने के लिए अनुवाद बस कैसे यकीन कर रहे हैं आपको लगता है कि 42949672958589934591 सही है? – innaM
यह अंतर्निहित ऑक्टेट() द्वारा भी किया जाता है, हालांकि यह इसके लिए एक बहुत खराब नाम है। –