में कनवर्ट करना मैं जावास्क्रिप्ट ऑक्टल और हेक्साडेसिमल कंप्यूटेशंस को समझने की कोशिश कर रहा हूं। मुझे पता है कि मैं इंटीजर मान प्राप्त करने के लिए parseInt(string, radix)
का उपयोग कर सकता हूं।ऑक्टेटल और हेक्साडेसिमल संख्याओं को आधार 10
उदाहरण के लिए, जब मैं कोशिश करता हूं तो मान अलग क्यों होते हैं?
var octal = parseInt('026', 8);
var octal1 = parseInt('030', 8);
alert(octal); //22
alert(octal1); //24
var hex = parseInt('0xf5', 16);
var hex1 = parseInt('0xf8', 16);
alert(hex); //245
alert(hex1); //248
लेकिन अगर मैं इसे एक सरणी में सहेजने का प्रयास करता हूं तो उत्तर अलग और गलत क्यों हैं?
var x = new Array(026, 5, 0xf5, "abc");
var y = new Array(030, 3, 0xf8, "def");
alert('026 is ' + parseInt(x[0],8)); //18
alert('0xf5 is ' + parseInt(x[2],16)); //581
alert('030 is ' + parseInt(y[0],8)); //20
alert('0xf8 is ' + parseInt(y[2],16)); //584
आप ठीक कह रहे हैं। पहला हिस्सा अनावश्यक है। 'अलर्ट (026) '' 22' मिलेगा। सरणी के बारे में कैसे? – theking963
ध्यान दें कि 'var foo = new Array (...); 'var foo = [...] पर लगभग कभी भी बेहतर नहीं है;' जैसा कि पूर्व अधिक बाइट्स, धीमे, और कार्यात्मक रूप से समतुल्य है। – Phrogz