double less operator in Go Tour 37 -
मुझे अजीब अभिव्यक्ति ऑपरेटर प्रोग्राम को आउटपुट मिला: यह एक बाइनरी पाली ऑपरेटर है। विशेष रूप से, यह एक बाएं पारी है (चूंकि वे बाईं ओर इंगित करते हैं)। यह क्या करता है, एक संख्या के द्विआधारी प्रतिनिधित्व में सभी बिट्स को स्थानांतरित कर रहा है ... बाएं। इसके लिए उदाहरण। 1 का द्विपदीय प्रतिनिधित्व (8 बिट प्रति बाइट के सुरक्षित धारणा के साथ) है: जो 2 का द्विआधारी प्रतिनिधित्व है। इसे फिर से लागू करने का काम करता है: .. जो 4 का द्विआधारी प्रतिनिधित्व है .. और इसी तरह। इसके विपरीत, सही बदलाव .. 2। आप सही बदलाव ऑपरेटर का उपयोग कर पीछे की गिनती के लिए यात्रा को बदल सकते हैं: 1 & lt; & lt; आईआईटी (i)
पैकेज मुख्य आयात "एफएमटी" फेंक मुख्य () {पॉ: = मेक ([] इंट, 10) i: = रेंज पो {पॉ [i ] = 1 & lt; & lt; यूआईआईटी (आई)} _ के लिए, मान: = रेंज पो {fmt.Printf ("% d \ n", मान)}}
& lt; & lt; क्या?
1 2 4 8 16 32 64 128 256 512 प्रोग्राम से बाहर निकल गया।
00000001 । बाएं पारी को लागू करने का काम करता है:
00000001 & lt; & lt; 00000010
00000010 & lt; & lt; 00000100
& gt; & gt; विपरीत करता है, इसलिए मान 4 को
& gt; & gt; लागू करता है, उत्पादन करता है:
00000100> & gt; 00000010
पाउ [ आई] = 512 & gt; & gt; यूआईटी (i)
Comments
Post a Comment