Elixir 1.7

Bitwise




elixir

Bitwise

मैक्रों का एक सेट जो बिट्स पर गणना करता है।

इस मॉड्यूल में मैक्रो दो फ्लेवर में आते हैं: नामांकित या ऑपरेटर। उदाहरण के लिए:

iex> use Bitwise
iex> bnot(1) # named
-2
iex> 1 &&& 1 # operator
1

यदि आप केवल ऑपरेटरों का उपयोग करना या उन्हें छोड़ना पसंद करते हैं, तो आप निम्न विकल्प पास कर सकते हैं:

  • :only_operators - इसमें केवल ऑपरेटर शामिल हैं
  • :skip_operators - ऑपरेटरों को छोड़ देता है

उदाहरण के लिए:

iex> use Bitwise, only_operators: true
iex> 1 &&& 1
1

जब कोई विकल्प नहीं है, use Bitwise का use Bitwise import Bitwise करने के बराबर है।

सभी बिटकॉइन मैक्रोज़ का उपयोग गार्ड में किया जा सकता है:

iex> use Bitwise
iex> odd? = fn
...>   int when band(int, 1) == 1 -> true
...>   _ -> false
...> end
iex> odd?.(1)
true

सारांश

कार्य

बाएँ दांए

Infix ऑपरेटर; बिटकॉइन और उसके तर्कों की गणना करता है

बायां <<< दाईं ओर

Infix ऑपरेटर; एक अंकगणित बाएं बिटशिफ्ट के परिणाम की गणना करता है

बाएं >>> दायां

Infix ऑपरेटर; अंकगणित दाहिने बिटशिफ्ट के परिणाम की गणना करता है

बाएं ^ ^ ^ दाएं

Infix ऑपरेटर; इसके तर्कों के बिटवाइज़ XOR की गणना करता है

बैंड (बाएं, दाएं)

बिटकॉइन और उसके तर्कों की गणना करता है

bnot(expr)

अपने तर्क की बिटवाइज़ नहीं की गणना करता है

बोर (बाएं, दाएं)

बिटकॉइन या उसके तर्कों की गणना करता है

bsl (बाएं, दाएं)

एक अंकगणित बाएं बिटशिफ्ट के परिणाम की गणना करता है

bsr (बाएं, दाएं)

एक अंकगणित दाहिने बिटशिफ्ट के परिणाम की गणना करता है

bxor (बाएं, दाएं)

इसके तर्कों के बिटवाइज़ XOR की गणना करता है

बायाँ ||| सही

Infix ऑपरेटर; बिटकॉइन या उसके तर्कों की गणना करता है

~~~expr

उपसर्ग (अनरी) ऑपरेटर; अपने तर्क की बिटवाइज़ की गणना नहीं करता है

कार्य

बाएं और&& दाएं (मैक्रो)

Infix ऑपरेटर; बिटकॉइन और उसके तर्कों की गणना करता है।

iex> 9 &&& 3
1

बायां <<< दाईं ओर (स्थूल)

Infix ऑपरेटर; एक अंकगणित बाएं बिटशिफ्ट के परिणाम की गणना करता है।

iex> 1 <<< 2
4
iex> 1 <<< -2
0
iex> -1 <<< 2
-4
iex> -1 <<< -2
-1

बाएं >>> दायां (मैक्रो)

Infix ऑपरेटर; अंकगणित दाहिने बिटशिफ्ट के परिणाम की गणना करता है।

iex> 1 >>> 2
0
iex> 1 >>> -2
4
iex> -1 >>> 2
-1
iex> -1 >>> -2
-4

बाएं ^ ^ ^ दाएं (मैक्रो)

Infix ऑपरेटर; इसके तर्कों के बिटवाइज़ XOR की गणना करता है।

iex> 9 ^^^ 3
10

बैंड (बाएं, दाएं) (मैक्रो)

बिटकॉइन और उसके तर्कों की गणना करता है।

iex> band(9, 3)
1

bnot (expr) (मैक्रो)

अपने तर्क की बिटवाइज़ नहीं की गणना करता है।

iex> bnot(2)
-3
iex> bnot(2) &&& 3
1

बोर (बाएं, दाएं) (मैक्रो)

बिटकॉइन या उसके तर्कों की गणना करता है।

iex> bor(9, 3)
11

bsl (बाएं, दाएं) (मैक्रो)

एक अंकगणित बाएं बिटशिफ्ट के परिणाम की गणना करता है।

iex> bsl(1, 2)
4
iex> bsl(1, -2)
0
iex> bsl(-1, 2)
-4
iex> bsl(-1, -2)
-1

bsr (बाएं, दाएं) (मैक्रो)

एक अंकगणित दाहिने बिटशिफ्ट के परिणाम की गणना करता है।

iex> bsr(1, 2)
0
iex> bsr(1, -2)
4
iex> bsr(-1, 2)
-1
iex> bsr(-1, -2)
-4

bxor (बाएं, दाएं) (मैक्रो)

इसके तर्कों के बिटवाइज़ XOR की गणना करता है।

iex> bxor(9, 3)
10

बायाँ ||| सही (मैक्रो)

Infix ऑपरेटर; बिटकॉइन या उसके तर्कों की गणना करता है।

iex> 9 ||| 3
11

~~~ expr (मैक्रो)

उपसर्ग (अनरी) ऑपरेटर; अपने तर्क की बिटवाइज़ की गणना नहीं करता है।

iex> ~~~2
-3
iex> ~~~2 &&& 3
1