जेएस ट्यूटोरियल

जेएस होम जे एस परिचय जे एस कहाँ करने के लिए जेएस आउटपुट जेएस स्टेटमेंट्स जेएस सिंटेक्स जे एस टिप्पणियाँ जेएस चर जे एस लेट जेएस कॉन्स्ट जेएस ऑपरेटर्स जे एस अंकगणित जेएस असाइनमेंट जेएस डेटा प्रकार जे एस कार्य जेएस ऑब्जेक्ट्स जेएस इवेंट्स जे एस स्ट्रिंग्स जे एस स्ट्रिंग तरीके जे एस स्ट्रिंग खोज जे एस स्ट्रिंग टेम्पलेट्स जेएस नंबर जेएस संख्या के तरीके जे एस सरणी जेएस सरणी के तरीके जेएस ऐरे सॉर्ट जेएस सरणी पुनरावृत्ति जेएस ऐरे कॉन्स्ट जे एस तिथियाँ जेएस तिथि प्रारूप जेएस तिथि प्राप्त करने के तरीके JS दिनांक सेट विधियाँ जे एस मठ जे एस रैंडम जे एस बूलियन्स जेएस तुलना जे एस शर्तें जे एस स्विच जेएस लूप फॉर In . के लिए JS लूप ओएफ के लिए जेएस लूप जेएस लूप जबकि जेएस ब्रेक जेएस Iterables जेएस सेट जेएस मैप्स जेएस टाइपोफ जे एस प्रकार रूपांतरण जेएस बिटवाइज जेएस रेगएक्सपी जे एस त्रुटियाँ जेएस स्कोप जे एस उत्थापन जेएस सख्त मोड जेएस यह कीवर्ड जेएस एरो फंक्शन जेएस क्लासेस जेएस JSON जेएस डिबगिंग जेएस स्टाइल गाइड जेएस सर्वोत्तम अभ्यास जेएस गलतियाँ जेएस प्रदर्शन जेएस आरक्षित शब्द

जेएस संस्करण

जेएस संस्करण जेएस 2009 (ES5) जेएस 2015 (ईएस6) जेएस 2016 जेएस 2017 जेएस 2018 जेएस आईई / एज जेएस इतिहास

जेएस ऑब्जेक्ट्स

वस्तु परिभाषाएँ वस्तु गुण वस्तु के तरीके वस्तु प्रदर्शन ऑब्जेक्ट एक्सेसर्स वस्तु निर्माता वस्तु प्रोटोटाइप वस्तु पुनरावर्तनीय वस्तु समूह वस्तु मानचित्र वस्तु संदर्भ

जे एस कार्य

फ़ंक्शन परिभाषाएँ फंक्शन पैरामीटर्स समारोह आमंत्रण फंक्शन कॉल समारोह लागू करें फंक्शन क्लोजर

जेएस क्लासेस

कक्षा परिचय वर्ग वंशानुक्रम क्लास स्टेटिक

जे एस एसिंक

जेएस कॉलबैक जे एस अतुल्यकालिक जे एस वादा जे एस एसिंक/प्रतीक्षा

जेएस एचटीएमएल डोम

डोम परिचय डोम तरीके डोम दस्तावेज़ डोम तत्व डोम एचटीएमएल डोम फॉर्म डोम सीएसएस डोम एनिमेशन डोम घटनाक्रम डोम इवेंट श्रोता डोम नेविगेशन डोम नोड्स डोम संग्रह डोम नोड सूचियाँ

जेएस ब्राउज़र बीओएम

जेएस विंडो जेएस स्क्रीन जेएस स्थान जेएस इतिहास जेएस नेविगेटर जेएस पॉपअप अलर्ट जेएस टाइमिंग जे एस कुकीज़

जेएस वेब एपीआई

वेब एपीआई परिचय वेब फॉर्म एपीआई वेब इतिहास एपीआई वेब संग्रहण API वेब वर्कर एपीआई वेब फ़ेच एपीआई वेब जियोलोकेशन एपीआई

जे एस अजाक्स

AJAX परिचय अजाक्स एक्सएमएलएचटीपी अजाक्स अनुरोध अजाक्स प्रतिक्रिया अजाक्स एक्सएमएल फ़ाइल अजाक्स पीएचपी अजाक्स एएसपी AJAX डेटाबेस अजाक्स अनुप्रयोग अजाक्स उदाहरण

जेएस JSON

JSON परिचय JSON सिंटैक्स जेएसओएन बनाम एक्सएमएल JSON डेटा प्रकार JSON पार्स JSON स्ट्रिंगिफ़ाई JSON ऑब्जेक्ट्स JSON सरणियाँ JSON सर्वर जेएसओएन पीएचपी जेएसओएन एचटीएमएल जेएसओएन जेएसओएनपी

जेएस बनाम jQuery

jQuery चयनकर्ता jQuery एचटीएमएल jQuery सीएसएस jQuery डोम

जेएस ग्राफिक्स

जेएस ग्राफिक्स जेएस कैनवास जे एस प्लॉटली जेएस चार्ट.जेएस जेएस गूगल चार्ट जेएस डी3.जेएस

जेएस उदाहरण

जेएस उदाहरण जेएस एचटीएमएल डोम जेएस एचटीएमएल इनपुट जेएस एचटीएमएल ऑब्जेक्ट्स जेएस एचटीएमएल इवेंट्स जेएस ब्राउज़र जे एस संपादक जे एस व्यायाम जे एस प्रश्नोत्तरी जेएस प्रमाणपत्र

जे एस संदर्भ

जावास्क्रिप्ट ऑब्जेक्ट्स एचटीएमएल डोम ऑब्जेक्ट्स


जावास्क्रिप्ट बिटवाइज़ ऑपरेशंस


जावास्क्रिप्ट बिटवाइज़ ऑपरेटर्स

Operator Name Description
& AND Sets each bit to 1 if both bits are 1
| OR Sets each bit to 1 if one of two bits is 1
^ XOR Sets each bit to 1 if only one of two bits is 1
~ NOT Inverts all the bits
<< Zero fill left shift Shifts left by pushing zeros in from the right and let the leftmost bits fall off
>> Signed right shift Shifts right by pushing copies of the leftmost bit in from the left, and let the rightmost bits fall off
>>> Zero fill right shift Shifts right by pushing zeros in from the left, and let the rightmost bits fall off

उदाहरण

Operation Result Same as Result
5 & 1 1 0101 & 0001  0001
5 | 1 5 0101 | 0001  0101
~ 5 10  ~0101  1010
5 << 1 10 0101 << 1  1010
5 ^ 1 4 0101 ^ 0001  0100
5 >> 1 2 0101 >> 1  0010
5 >>> 1 2 0101 >>> 1  0010

जावास्क्रिप्ट 32 बिट बिटवाइज़ ऑपरेंड का उपयोग करता है

जावास्क्रिप्ट संख्याओं को 64 बिट फ्लोटिंग पॉइंट नंबरों के रूप में संग्रहीत करता है, लेकिन सभी बिटवाइज़ ऑपरेशन 32 बिट बाइनरी नंबरों पर किए जाते हैं।

बिटवाइज़ ऑपरेशन करने से पहले, जावास्क्रिप्ट संख्याओं को 32 बिट हस्ताक्षरित पूर्णांकों में परिवर्तित करता है।

बिटवाइज़ ऑपरेशन करने के बाद, परिणाम वापस 64 बिट्स जावास्क्रिप्ट नंबरों में परिवर्तित हो जाता है।

ऊपर दिए गए उदाहरण 4 बिट्स अहस्ताक्षरित बाइनरी नंबरों का उपयोग करते हैं। इस वजह से ~5 रिटर्न 10.

चूंकि जावास्क्रिप्ट 32 बिट हस्ताक्षरित पूर्णांकों का उपयोग करता है, यह 10 वापस नहीं करेगा। यह -6 लौटाएगा।

000000000000000000000000000001 (5)

11111111111111111111111111111010 (~5 = -6)

एक हस्ताक्षरित पूर्णांक ऋण चिह्न के रूप में बाईं ओर के बिट का उपयोग करता है।



बिटवाइज और

जब बिटवाइज़ और बिट्स की एक जोड़ी पर किया जाता है, तो यह 1 लौटाता है यदि दोनों बिट्स 1 हैं।

एक बिट उदाहरण:
कार्यवाहीपरिणाम
0 और 00
0 और 10
1 और 00
1 11
4 बिट उदाहरण:
कार्यवाहीपरिणाम
1111 और 00000000
1111 और 00010001
1111 और 00100010
1111 और 01000100

बिटवाइज OR

जब बिटवाइज़ OR बिट्स की एक जोड़ी पर किया जाता है, तो यह 1 लौटाता है यदि बिट्स में से एक 1 है:

एक बिट उदाहरण:
कार्यवाहीपरिणाम
0 | 00
0 | 1
1 | 01
1 | 11
4 बिट उदाहरण:
कार्यवाहीपरिणाम
1111 | 00001111
1111 | 00011111
1111 | 00101111
1111 | 01001111

बिटवाइज़ XOR

जब बिट्स की एक जोड़ी पर बिटवाइज़ XOR किया जाता है, तो बिट्स अलग होने पर यह 1 लौटाता है:

एक बिट उदाहरण:
कार्यवाहीपरिणाम
0 ^ 00
0 ^ 1
1 ^ 01
1 ^ 1
4 बिट उदाहरण:
कार्यवाहीपरिणाम
1111 ^ 00001111
1111 ^ 00011110
1111 ^ 00101101
1111 ^ 01001011

जावास्क्रिप्ट बिटवाइज़ और (&)

बिटवाइज़ और 1 तभी लौटाता है जब दोनों बिट 1 हों:

दशमलवबायनरी
5000000000000000000000000000001
100000000000000000000000000000001
5 और 100000000000000000000000000000001 (1)

उदाहरण

let x = 5 & 1;

जावास्क्रिप्ट बिटवाइज़ या (|)

बिटवाइज़ या 1 लौटाता है यदि बिट्स में से एक 1 है:

दशमलवबायनरी
5000000000000000000000000000001
100000000000000000000000000000001
5 | 1000000000000000000000000000001 (5)

उदाहरण

let x = 5 | 1;

जावास्क्रिप्ट बिटवाइज़ XOR (^)

यदि बिट भिन्न हैं तो बिटवाइज़ XOR 1 लौटाता है:

दशमलवबायनरी
5000000000000000000000000000001
100000000000000000000000000000001
5 ^ 100000000000000000000000000000100 (4)

उदाहरण

let x = 5 ^ 1;

जावास्क्रिप्ट बिटवाइज़ नहीं (~)

दशमलवबायनरी
5000000000000000000000000000001
~511111111111111111111111111111010 (-6)

उदाहरण

let x = ~5;

जावास्क्रिप्ट (शून्य भरण) बिटवाइज़ लेफ्ट शिफ्ट (<<)

यह जीरो फिल लेफ्ट शिफ्ट है। एक या एक से अधिक शून्य बिट्स को दाईं ओर से धकेला जाता है, और सबसे बाईं ओर के बिट्स गिर जाते हैं:

दशमलवबायनरी
5000000000000000000000000000001
5 << 10000000000000000000000000000001010 (10)

उदाहरण

let x = 5 << 1;

जावास्क्रिप्ट (साइन प्रिजर्विंग) बिटवाइज राइट शिफ्ट (>>)

यह सही बदलाव को संरक्षित करने वाला एक संकेत है। बाईं ओर से सबसे बाईं ओर की प्रतियां धकेल दी जाती हैं, और सबसे दाईं ओर गिर जाती हैं:

दशमलवबायनरी
-511111111111111111111111111111111
-5 >> 111111111111111111111111111111101 (-3)

उदाहरण

let x = -5 >> 1;

जावास्क्रिप्ट (जीरो फिल) राइट शिफ्ट (>>>)

यह जीरो फिल राइट शिफ्ट है। एक या अधिक शून्य बिट्स को बाईं ओर से धकेला जाता है, और सबसे दाहिना भाग गिर जाता है:

दशमलवबायनरी
5000000000000000000000000000001
5 >>> 100000000000000000000000000000010 (2)

उदाहरण

let x = 5 >>> 1;

बाइनरी नंबर

केवल एक बिट सेट वाले बाइनरी नंबर को समझना आसान है:

बाइनरी प्रतिनिधित्वदशमलव मान
000000000000000000000000000000011
000000000000000000000000000000102
000000000000000000000000000001004
00000000000000000000000000000010008
0000000000000000000000000001000016
0000000000000000000000000010000032
0000000000000000000000000100000064

कुछ और बिट्स सेट करने से बाइनरी पैटर्न का पता चलता है:

बाइनरी प्रतिनिधित्वदशमलव मान
0000000000000000000000000000015 (4 + 1)
0000000000000000000000000000110113 (8 + 4 + 1)
0000000000000000000000000010110145 (32 + 8 + 4 + 1)

जावास्क्रिप्ट बाइनरी नंबर दो के पूरक प्रारूप में संग्रहीत हैं।

इसका मतलब यह है कि एक ऋणात्मक संख्या बिटवाइज संख्या प्लस 1 की नहीं है:

बाइनरी प्रतिनिधित्वदशमलव मान
0000000000000000000000000000015
11111111111111111111111111111111-5
000000000000000000000000000001106
11111111111111111111111111111111010-6
0000000000000000000000000010100040
111111111111111111111111111011000-40

दशमलव को बाइनरी में बदलना

उदाहरण

function dec2bin(dec){
  return (dec >>> 0).toString(2);
}

बाइनरी को दशमलव में बदलना

उदाहरण

function bin2dec(bin){
  return parseInt(bin, 2).toString(10);
}