What is a^b and (a&b)<<1?2019 Community Moderator ElectionWhat is the most efficient way to deep...

What's the meaning of “spike” in the context of “adrenaline spike”?

Why would a flight no longer considered airworthy be redirected like this?

Combining an idiom with a metonymy

Most cost effective thermostat setting: consistent temperature vs. lowest temperature possible

Interplanetary conflict, some disease destroys the ability to understand or appreciate music

What exactly is this small puffer fish doing and how did it manage to accomplish such a feat?

Employee lack of ownership

Why doesn't using two cd commands in bash script execute the second command?

Does Mathematica reuse previous computations?

Instead of Universal Basic Income, why not Universal Basic NEEDS?

My adviser wants to be the first author

How to deal with a cynical class?

What has been your most complicated TikZ drawing?

How do anti-virus programs start at Windows boot?

PTIJ: Who should I vote for? (21st Knesset Edition)

Dice rolling probability game

Gantt Chart like rectangles with log scale

How to explain that I do not want to visit a country due to personal safety concern?

Why do passenger jet manufacturers design their planes with stall prevention systems?

SOQL: Populate a Literal List in WHERE IN Clause

Why doesn't the EU now just force the UK to choose between referendum and no-deal?

What is the significance behind "40 days" that often appears in the Bible?

Does someone need to be connected to my network to sniff HTTP requests?

Look at your watch and tell me what time is it. vs Look at your watch and tell me what time it is



What is a^b and (a&b)



2019 Community Moderator ElectionWhat is the most efficient way to deep clone an object in JavaScript?What is the preferred syntax for defining enums in JavaScript?What is the scope of variables in JavaScript?What is the !! (not not) operator in JavaScript?What is the JavaScript version of sleep()?What does “use strict” do in JavaScript, and what is the reasoning behind it?What is the 'new' keyword in JavaScript?What is the difference between call and apply?What is JSONP, and why was it created?What is the difference between Bower and npm?












8















I was doing this question in leetcode.



Request:




Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.




I can't understand the solution it gave



Could someone explain how this getSum function works?



Here is answer's JS:




var getSum=function(a,b){
const Sum=a^b;//I can't understand it.Please give me an example to understand it
const carry=(a&b)<<1;//I can't understand it too
if(!carry){
return Sum
}
return getSum(Sum,carry);
};
console.log(getSum(5,1));












share|improve this question



























    8















    I was doing this question in leetcode.



    Request:




    Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.




    I can't understand the solution it gave



    Could someone explain how this getSum function works?



    Here is answer's JS:




    var getSum=function(a,b){
    const Sum=a^b;//I can't understand it.Please give me an example to understand it
    const carry=(a&b)<<1;//I can't understand it too
    if(!carry){
    return Sum
    }
    return getSum(Sum,carry);
    };
    console.log(getSum(5,1));












    share|improve this question

























      8












      8








      8


      1






      I was doing this question in leetcode.



      Request:




      Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.




      I can't understand the solution it gave



      Could someone explain how this getSum function works?



      Here is answer's JS:




      var getSum=function(a,b){
      const Sum=a^b;//I can't understand it.Please give me an example to understand it
      const carry=(a&b)<<1;//I can't understand it too
      if(!carry){
      return Sum
      }
      return getSum(Sum,carry);
      };
      console.log(getSum(5,1));












      share|improve this question














      I was doing this question in leetcode.



      Request:




      Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.




      I can't understand the solution it gave



      Could someone explain how this getSum function works?



      Here is answer's JS:




      var getSum=function(a,b){
      const Sum=a^b;//I can't understand it.Please give me an example to understand it
      const carry=(a&b)<<1;//I can't understand it too
      if(!carry){
      return Sum
      }
      return getSum(Sum,carry);
      };
      console.log(getSum(5,1));








      var getSum=function(a,b){
      const Sum=a^b;//I can't understand it.Please give me an example to understand it
      const carry=(a&b)<<1;//I can't understand it too
      if(!carry){
      return Sum
      }
      return getSum(Sum,carry);
      };
      console.log(getSum(5,1));





      var getSum=function(a,b){
      const Sum=a^b;//I can't understand it.Please give me an example to understand it
      const carry=(a&b)<<1;//I can't understand it too
      if(!carry){
      return Sum
      }
      return getSum(Sum,carry);
      };
      console.log(getSum(5,1));






      javascript






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 54 mins ago









      JackyJacky

      1758




      1758
























          3 Answers
          3






          active

          oldest

          votes


















          8














          Let's imagine that a = 3 and b = 5



          In binary notation they are a = 0011 and b = 0101



          XOR:
          a^b is XOR operator. When compare two bits it returns 0 if they are same and 1 if they are different. 01^10 => 11



          So when we're doing a^b result will be 0110 (6 in decimal)



          AND + SHIFT



          a&b performs logical AND operation. It returns 1 only when a = b = 1.



          In our case the result is 0001



          << shifts it(adds 0 on the right side) and result became 0010 which sets carry variable true. (only 0000 will be false).



          Next iterations:



          Everything repeats but now a = 0110 and b = 0010 (Sum and carry from last execution)



          Now a^b = 0100 and (a&b)<<1 = 0100



          Repeating again.



          Now a^b = 0000 and (a&b)<<1 = 1000



          And again.



          Now a^b = 1000 and (a&b)<<1 = 0000. Now carry is finally false. And we're returning 1000 which is decimal 8.



          Everything worked fine since 3+5=8






          share|improve this answer





















          • 2





            Thanks for your explanation!

            – Jacky
            16 mins ago











          • You're welcome!

            – vicodin
            15 mins ago






          • 1





            Great explanation! I always find the bitwise operations hard to understand

            – Francisco Hanna
            10 mins ago



















          1














           int result = p ^ q; // XOR Operator, + without carry 0+0=0, 0+1=1+0=1, 1+1=0
          int carry = (p & q) << 1; // Left Shift, 1+1=2
          if (carry != 0) {
          return getSum(result, carry);
          }
          return result;


          Start By p=5,q=6. Then the XOR would be,



          0101
          0110
          ------
          0011


          So, XORing results in (0011) which is actually 3 in decimal. Then ANDing p and q we get,



          0101
          0110
          -------
          0100


          We get 4 (100 in binary) by ANDing 5 & 6, now if we left shift this value by 1, we get



           0100<<1=1000


          So we get 8 (1000 in binary) after first recursion.As the result (carry variable) isnt zero, lets recursion again by xor value and carry value.



          getSum(3, 8);


          So, doing the first XORing we get,



          0011
          1000
          -------
          1011


          The XORing this time yielded in 11 (1011 binary),so we perform the AND now,



          0011
          1000
          -------
          0000


          We get all ZERO for ANDing 3 and 8, so this time the left shift operator also results in ZERO, as we have no 1 here which may give us a value by left shifing zeroes.
          As the carry variable is now Zero, we come to the end of recursion and the XORed value will be the Sum, which is 11 (1011 in Binary).



          Hope you get the working of the procedure. You can learn more by learning bitwise operation, as its the way the machine do the arithmatic operations.






          share|improve this answer

































            -1














            These are bitwise operations. They're close to hardware language.






            share|improve this answer



















            • 7





              Too short.You didn't explain why this works and how

              – Jacky
              46 mins ago






            • 1





              Link-only answers are discouraged here. Please add the relevant content in the answer itself.

              – Ian McLaird
              38 mins ago






            • 3





              It’s binary math. WofWca would have to give you a very very long explanation on binary to explain it. You should really read the W3 Schools article or watch some videos on Bitwise calculations. It’s the kind of thing that would be a few days of class work in college. The comment about link-only answers is fair, but I doubt you’ll grasp the concept from a StackOverflow post alone though.

              – Nate
              38 mins ago













            • @Nate Sorry,But I am not the computer science's student

              – Jacky
              35 mins ago











            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55193135%2fwhat-is-ab-and-ab1%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            3 Answers
            3






            active

            oldest

            votes








            3 Answers
            3






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            8














            Let's imagine that a = 3 and b = 5



            In binary notation they are a = 0011 and b = 0101



            XOR:
            a^b is XOR operator. When compare two bits it returns 0 if they are same and 1 if they are different. 01^10 => 11



            So when we're doing a^b result will be 0110 (6 in decimal)



            AND + SHIFT



            a&b performs logical AND operation. It returns 1 only when a = b = 1.



            In our case the result is 0001



            << shifts it(adds 0 on the right side) and result became 0010 which sets carry variable true. (only 0000 will be false).



            Next iterations:



            Everything repeats but now a = 0110 and b = 0010 (Sum and carry from last execution)



            Now a^b = 0100 and (a&b)<<1 = 0100



            Repeating again.



            Now a^b = 0000 and (a&b)<<1 = 1000



            And again.



            Now a^b = 1000 and (a&b)<<1 = 0000. Now carry is finally false. And we're returning 1000 which is decimal 8.



            Everything worked fine since 3+5=8






            share|improve this answer





















            • 2





              Thanks for your explanation!

              – Jacky
              16 mins ago











            • You're welcome!

              – vicodin
              15 mins ago






            • 1





              Great explanation! I always find the bitwise operations hard to understand

              – Francisco Hanna
              10 mins ago
















            8














            Let's imagine that a = 3 and b = 5



            In binary notation they are a = 0011 and b = 0101



            XOR:
            a^b is XOR operator. When compare two bits it returns 0 if they are same and 1 if they are different. 01^10 => 11



            So when we're doing a^b result will be 0110 (6 in decimal)



            AND + SHIFT



            a&b performs logical AND operation. It returns 1 only when a = b = 1.



            In our case the result is 0001



            << shifts it(adds 0 on the right side) and result became 0010 which sets carry variable true. (only 0000 will be false).



            Next iterations:



            Everything repeats but now a = 0110 and b = 0010 (Sum and carry from last execution)



            Now a^b = 0100 and (a&b)<<1 = 0100



            Repeating again.



            Now a^b = 0000 and (a&b)<<1 = 1000



            And again.



            Now a^b = 1000 and (a&b)<<1 = 0000. Now carry is finally false. And we're returning 1000 which is decimal 8.



            Everything worked fine since 3+5=8






            share|improve this answer





















            • 2





              Thanks for your explanation!

              – Jacky
              16 mins ago











            • You're welcome!

              – vicodin
              15 mins ago






            • 1





              Great explanation! I always find the bitwise operations hard to understand

              – Francisco Hanna
              10 mins ago














            8












            8








            8







            Let's imagine that a = 3 and b = 5



            In binary notation they are a = 0011 and b = 0101



            XOR:
            a^b is XOR operator. When compare two bits it returns 0 if they are same and 1 if they are different. 01^10 => 11



            So when we're doing a^b result will be 0110 (6 in decimal)



            AND + SHIFT



            a&b performs logical AND operation. It returns 1 only when a = b = 1.



            In our case the result is 0001



            << shifts it(adds 0 on the right side) and result became 0010 which sets carry variable true. (only 0000 will be false).



            Next iterations:



            Everything repeats but now a = 0110 and b = 0010 (Sum and carry from last execution)



            Now a^b = 0100 and (a&b)<<1 = 0100



            Repeating again.



            Now a^b = 0000 and (a&b)<<1 = 1000



            And again.



            Now a^b = 1000 and (a&b)<<1 = 0000. Now carry is finally false. And we're returning 1000 which is decimal 8.



            Everything worked fine since 3+5=8






            share|improve this answer















            Let's imagine that a = 3 and b = 5



            In binary notation they are a = 0011 and b = 0101



            XOR:
            a^b is XOR operator. When compare two bits it returns 0 if they are same and 1 if they are different. 01^10 => 11



            So when we're doing a^b result will be 0110 (6 in decimal)



            AND + SHIFT



            a&b performs logical AND operation. It returns 1 only when a = b = 1.



            In our case the result is 0001



            << shifts it(adds 0 on the right side) and result became 0010 which sets carry variable true. (only 0000 will be false).



            Next iterations:



            Everything repeats but now a = 0110 and b = 0010 (Sum and carry from last execution)



            Now a^b = 0100 and (a&b)<<1 = 0100



            Repeating again.



            Now a^b = 0000 and (a&b)<<1 = 1000



            And again.



            Now a^b = 1000 and (a&b)<<1 = 0000. Now carry is finally false. And we're returning 1000 which is decimal 8.



            Everything worked fine since 3+5=8







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited 16 mins ago

























            answered 33 mins ago









            vicodinvicodin

            1,088624




            1,088624








            • 2





              Thanks for your explanation!

              – Jacky
              16 mins ago











            • You're welcome!

              – vicodin
              15 mins ago






            • 1





              Great explanation! I always find the bitwise operations hard to understand

              – Francisco Hanna
              10 mins ago














            • 2





              Thanks for your explanation!

              – Jacky
              16 mins ago











            • You're welcome!

              – vicodin
              15 mins ago






            • 1





              Great explanation! I always find the bitwise operations hard to understand

              – Francisco Hanna
              10 mins ago








            2




            2





            Thanks for your explanation!

            – Jacky
            16 mins ago





            Thanks for your explanation!

            – Jacky
            16 mins ago













            You're welcome!

            – vicodin
            15 mins ago





            You're welcome!

            – vicodin
            15 mins ago




            1




            1





            Great explanation! I always find the bitwise operations hard to understand

            – Francisco Hanna
            10 mins ago





            Great explanation! I always find the bitwise operations hard to understand

            – Francisco Hanna
            10 mins ago













            1














             int result = p ^ q; // XOR Operator, + without carry 0+0=0, 0+1=1+0=1, 1+1=0
            int carry = (p & q) << 1; // Left Shift, 1+1=2
            if (carry != 0) {
            return getSum(result, carry);
            }
            return result;


            Start By p=5,q=6. Then the XOR would be,



            0101
            0110
            ------
            0011


            So, XORing results in (0011) which is actually 3 in decimal. Then ANDing p and q we get,



            0101
            0110
            -------
            0100


            We get 4 (100 in binary) by ANDing 5 & 6, now if we left shift this value by 1, we get



             0100<<1=1000


            So we get 8 (1000 in binary) after first recursion.As the result (carry variable) isnt zero, lets recursion again by xor value and carry value.



            getSum(3, 8);


            So, doing the first XORing we get,



            0011
            1000
            -------
            1011


            The XORing this time yielded in 11 (1011 binary),so we perform the AND now,



            0011
            1000
            -------
            0000


            We get all ZERO for ANDing 3 and 8, so this time the left shift operator also results in ZERO, as we have no 1 here which may give us a value by left shifing zeroes.
            As the carry variable is now Zero, we come to the end of recursion and the XORed value will be the Sum, which is 11 (1011 in Binary).



            Hope you get the working of the procedure. You can learn more by learning bitwise operation, as its the way the machine do the arithmatic operations.






            share|improve this answer






























              1














               int result = p ^ q; // XOR Operator, + without carry 0+0=0, 0+1=1+0=1, 1+1=0
              int carry = (p & q) << 1; // Left Shift, 1+1=2
              if (carry != 0) {
              return getSum(result, carry);
              }
              return result;


              Start By p=5,q=6. Then the XOR would be,



              0101
              0110
              ------
              0011


              So, XORing results in (0011) which is actually 3 in decimal. Then ANDing p and q we get,



              0101
              0110
              -------
              0100


              We get 4 (100 in binary) by ANDing 5 & 6, now if we left shift this value by 1, we get



               0100<<1=1000


              So we get 8 (1000 in binary) after first recursion.As the result (carry variable) isnt zero, lets recursion again by xor value and carry value.



              getSum(3, 8);


              So, doing the first XORing we get,



              0011
              1000
              -------
              1011


              The XORing this time yielded in 11 (1011 binary),so we perform the AND now,



              0011
              1000
              -------
              0000


              We get all ZERO for ANDing 3 and 8, so this time the left shift operator also results in ZERO, as we have no 1 here which may give us a value by left shifing zeroes.
              As the carry variable is now Zero, we come to the end of recursion and the XORed value will be the Sum, which is 11 (1011 in Binary).



              Hope you get the working of the procedure. You can learn more by learning bitwise operation, as its the way the machine do the arithmatic operations.






              share|improve this answer




























                1












                1








                1







                 int result = p ^ q; // XOR Operator, + without carry 0+0=0, 0+1=1+0=1, 1+1=0
                int carry = (p & q) << 1; // Left Shift, 1+1=2
                if (carry != 0) {
                return getSum(result, carry);
                }
                return result;


                Start By p=5,q=6. Then the XOR would be,



                0101
                0110
                ------
                0011


                So, XORing results in (0011) which is actually 3 in decimal. Then ANDing p and q we get,



                0101
                0110
                -------
                0100


                We get 4 (100 in binary) by ANDing 5 & 6, now if we left shift this value by 1, we get



                 0100<<1=1000


                So we get 8 (1000 in binary) after first recursion.As the result (carry variable) isnt zero, lets recursion again by xor value and carry value.



                getSum(3, 8);


                So, doing the first XORing we get,



                0011
                1000
                -------
                1011


                The XORing this time yielded in 11 (1011 binary),so we perform the AND now,



                0011
                1000
                -------
                0000


                We get all ZERO for ANDing 3 and 8, so this time the left shift operator also results in ZERO, as we have no 1 here which may give us a value by left shifing zeroes.
                As the carry variable is now Zero, we come to the end of recursion and the XORed value will be the Sum, which is 11 (1011 in Binary).



                Hope you get the working of the procedure. You can learn more by learning bitwise operation, as its the way the machine do the arithmatic operations.






                share|improve this answer















                 int result = p ^ q; // XOR Operator, + without carry 0+0=0, 0+1=1+0=1, 1+1=0
                int carry = (p & q) << 1; // Left Shift, 1+1=2
                if (carry != 0) {
                return getSum(result, carry);
                }
                return result;


                Start By p=5,q=6. Then the XOR would be,



                0101
                0110
                ------
                0011


                So, XORing results in (0011) which is actually 3 in decimal. Then ANDing p and q we get,



                0101
                0110
                -------
                0100


                We get 4 (100 in binary) by ANDing 5 & 6, now if we left shift this value by 1, we get



                 0100<<1=1000


                So we get 8 (1000 in binary) after first recursion.As the result (carry variable) isnt zero, lets recursion again by xor value and carry value.



                getSum(3, 8);


                So, doing the first XORing we get,



                0011
                1000
                -------
                1011


                The XORing this time yielded in 11 (1011 binary),so we perform the AND now,



                0011
                1000
                -------
                0000


                We get all ZERO for ANDing 3 and 8, so this time the left shift operator also results in ZERO, as we have no 1 here which may give us a value by left shifing zeroes.
                As the carry variable is now Zero, we come to the end of recursion and the XORed value will be the Sum, which is 11 (1011 in Binary).



                Hope you get the working of the procedure. You can learn more by learning bitwise operation, as its the way the machine do the arithmatic operations.







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited 19 mins ago

























                answered 24 mins ago









                Ayan_84Ayan_84

                520513




                520513























                    -1














                    These are bitwise operations. They're close to hardware language.






                    share|improve this answer



















                    • 7





                      Too short.You didn't explain why this works and how

                      – Jacky
                      46 mins ago






                    • 1





                      Link-only answers are discouraged here. Please add the relevant content in the answer itself.

                      – Ian McLaird
                      38 mins ago






                    • 3





                      It’s binary math. WofWca would have to give you a very very long explanation on binary to explain it. You should really read the W3 Schools article or watch some videos on Bitwise calculations. It’s the kind of thing that would be a few days of class work in college. The comment about link-only answers is fair, but I doubt you’ll grasp the concept from a StackOverflow post alone though.

                      – Nate
                      38 mins ago













                    • @Nate Sorry,But I am not the computer science's student

                      – Jacky
                      35 mins ago
















                    -1














                    These are bitwise operations. They're close to hardware language.






                    share|improve this answer



















                    • 7





                      Too short.You didn't explain why this works and how

                      – Jacky
                      46 mins ago






                    • 1





                      Link-only answers are discouraged here. Please add the relevant content in the answer itself.

                      – Ian McLaird
                      38 mins ago






                    • 3





                      It’s binary math. WofWca would have to give you a very very long explanation on binary to explain it. You should really read the W3 Schools article or watch some videos on Bitwise calculations. It’s the kind of thing that would be a few days of class work in college. The comment about link-only answers is fair, but I doubt you’ll grasp the concept from a StackOverflow post alone though.

                      – Nate
                      38 mins ago













                    • @Nate Sorry,But I am not the computer science's student

                      – Jacky
                      35 mins ago














                    -1












                    -1








                    -1







                    These are bitwise operations. They're close to hardware language.






                    share|improve this answer













                    These are bitwise operations. They're close to hardware language.







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered 50 mins ago









                    WofWcaWofWca

                    40819




                    40819








                    • 7





                      Too short.You didn't explain why this works and how

                      – Jacky
                      46 mins ago






                    • 1





                      Link-only answers are discouraged here. Please add the relevant content in the answer itself.

                      – Ian McLaird
                      38 mins ago






                    • 3





                      It’s binary math. WofWca would have to give you a very very long explanation on binary to explain it. You should really read the W3 Schools article or watch some videos on Bitwise calculations. It’s the kind of thing that would be a few days of class work in college. The comment about link-only answers is fair, but I doubt you’ll grasp the concept from a StackOverflow post alone though.

                      – Nate
                      38 mins ago













                    • @Nate Sorry,But I am not the computer science's student

                      – Jacky
                      35 mins ago














                    • 7





                      Too short.You didn't explain why this works and how

                      – Jacky
                      46 mins ago






                    • 1





                      Link-only answers are discouraged here. Please add the relevant content in the answer itself.

                      – Ian McLaird
                      38 mins ago






                    • 3





                      It’s binary math. WofWca would have to give you a very very long explanation on binary to explain it. You should really read the W3 Schools article or watch some videos on Bitwise calculations. It’s the kind of thing that would be a few days of class work in college. The comment about link-only answers is fair, but I doubt you’ll grasp the concept from a StackOverflow post alone though.

                      – Nate
                      38 mins ago













                    • @Nate Sorry,But I am not the computer science's student

                      – Jacky
                      35 mins ago








                    7




                    7





                    Too short.You didn't explain why this works and how

                    – Jacky
                    46 mins ago





                    Too short.You didn't explain why this works and how

                    – Jacky
                    46 mins ago




                    1




                    1





                    Link-only answers are discouraged here. Please add the relevant content in the answer itself.

                    – Ian McLaird
                    38 mins ago





                    Link-only answers are discouraged here. Please add the relevant content in the answer itself.

                    – Ian McLaird
                    38 mins ago




                    3




                    3





                    It’s binary math. WofWca would have to give you a very very long explanation on binary to explain it. You should really read the W3 Schools article or watch some videos on Bitwise calculations. It’s the kind of thing that would be a few days of class work in college. The comment about link-only answers is fair, but I doubt you’ll grasp the concept from a StackOverflow post alone though.

                    – Nate
                    38 mins ago







                    It’s binary math. WofWca would have to give you a very very long explanation on binary to explain it. You should really read the W3 Schools article or watch some videos on Bitwise calculations. It’s the kind of thing that would be a few days of class work in college. The comment about link-only answers is fair, but I doubt you’ll grasp the concept from a StackOverflow post alone though.

                    – Nate
                    38 mins ago















                    @Nate Sorry,But I am not the computer science's student

                    – Jacky
                    35 mins ago





                    @Nate Sorry,But I am not the computer science's student

                    – Jacky
                    35 mins ago


















                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55193135%2fwhat-is-ab-and-ab1%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    “%fieldName is a required field.”, in Magento2 REST API Call for GET Method Type The Next...

                    How to change City field to a dropdown in Checkout step Magento 2Magento 2 : How to change UI field(s)...

                    變成蝙蝠會怎樣? 參考資料 外部連結 导航菜单Thomas Nagel, "What is it like to be a...