What is a^b and (a&b)<<1?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?

Time travel from stationary position?

What did Alexander Pope mean by "Expletives their feeble Aid do join"?

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

Are ETF trackers fundamentally better than individual stocks?

The difference between「N分で」and「後N分で」

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

Why do Australian milk farmers need to protest supermarkets' milk price?

How to write cleanly even if my character uses expletive language?

What has been your most complicated TikZ drawing?

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

Who is flying the vertibirds?

Is a party consisting of only a bard, a cleric, and a warlock functional long-term?

How do anti-virus programs start at Windows boot?

Welcoming 2019 Pi day: How to draw the letter π?

A Cautionary Suggestion

Do I need to be arrogant to get ahead?

Is there a data structure that only stores hash codes and not the actual objects?

Recruiter wants very extensive technical details about all of my previous work

A sequence that has integer values for prime indexes only:

Are there other languages, besides English, where the indefinite (or definite) article varies based on sound?

How to change two letters closest to a string and one letter immediately after a string using notepad++

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

Can a druid choose the size of its wild shape beast?

Min function accepting varying number of arguments in C++17



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
            17 mins ago











          • You're welcome!

            – vicodin
            16 mins ago






          • 1





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

            – Francisco Hanna
            11 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
              39 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
              39 mins ago












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

              – Jacky
              36 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
              17 mins ago











            • You're welcome!

              – vicodin
              16 mins ago






            • 1





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

              – Francisco Hanna
              11 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
              17 mins ago











            • You're welcome!

              – vicodin
              16 mins ago






            • 1





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

              – Francisco Hanna
              11 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 17 mins ago

























            answered 34 mins ago









            vicodinvicodin

            1,088624




            1,088624







            • 2





              Thanks for your explanation!

              – Jacky
              17 mins ago











            • You're welcome!

              – vicodin
              16 mins ago






            • 1





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

              – Francisco Hanna
              11 mins ago












            • 2





              Thanks for your explanation!

              – Jacky
              17 mins ago











            • You're welcome!

              – vicodin
              16 mins ago






            • 1





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

              – Francisco Hanna
              11 mins ago







            2




            2





            Thanks for your explanation!

            – Jacky
            17 mins ago





            Thanks for your explanation!

            – Jacky
            17 mins ago













            You're welcome!

            – vicodin
            16 mins ago





            You're welcome!

            – vicodin
            16 mins ago




            1




            1





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

            – Francisco Hanna
            11 mins ago





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

            – Francisco Hanna
            11 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 25 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
                      39 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
                      39 mins ago












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

                      – Jacky
                      36 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
                      39 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
                      39 mins ago












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

                      – Jacky
                      36 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
                      39 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
                      39 mins ago












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

                      – Jacky
                      36 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
                      39 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
                      39 mins ago












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

                      – Jacky
                      36 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
                    39 mins ago





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

                    – Ian McLaird
                    39 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
                    39 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
                    39 mins ago














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

                    – Jacky
                    36 mins ago





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

                    – Jacky
                    36 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

                    Möglingen Índice Localización Historia Demografía Referencias Enlaces externos Menú de navegación48°53′18″N 9°07′45″E / 48.888333333333, 9.129166666666748°53′18″N 9°07′45″E / 48.888333333333, 9.1291666666667Sitio web oficial Mapa de Möglingen«Gemeinden in Deutschland nach Fläche, Bevölkerung und Postleitzahl am 30.09.2016»Möglingen

                    Virtualbox - Configuration error: Querying “UUID” failed (VERR_CFGM_VALUE_NOT_FOUND)“VERR_SUPLIB_WORLD_WRITABLE” error when trying to installing OS in virtualboxVirtual Box Kernel errorFailed to open a seesion for the virtual machineFailed to open a session for the virtual machineUbuntu 14.04 LTS Virtualbox errorcan't use VM VirtualBoxusing virtualboxI can't run Linux-64 Bit on VirtualBoxUnable to insert the virtual optical disk (VBoxguestaddition) in virtual machine for ubuntu server in win 10VirtuaBox in Ubuntu 18.04 Issues with Win10.ISO Installation

                    Antonio De Lisio Carrera Referencias Menú de navegación«Caracas: evolución relacional multipleja»«Cuando los gobiernos subestiman a las localidades: L a Iniciativa para la Integración de la Infraestructura Regional Suramericana (IIRSA) en la frontera Colombo-Venezolana»«Maestría en Planificación Integral del Ambiente»«La Metrópoli Caraqueña: Expansión Simplificadora o Articulación Diversificante»«La Metrópoli Caraqueña: Expansión Simplificadora o Articulación Diversificante»«Conózcanos»«Caracas: evolución relacional multipleja»«La Metrópoli Caraqueña: Expansión Simplificadora o Articulación Diversificante»