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?
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));
javascript
add a comment |
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));
javascript
add a comment |
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));
javascript
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
javascript
asked 54 mins ago
JackyJacky
1758
1758
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
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
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
add a comment |
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.
add a comment |
These are bitwise operations. They're close to hardware language.
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
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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
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
add a comment |
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
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
add a comment |
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
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
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
add a comment |
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
add a comment |
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.
add a comment |
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.
add a comment |
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.
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.
edited 19 mins ago
answered 24 mins ago
Ayan_84Ayan_84
520513
520513
add a comment |
add a comment |
These are bitwise operations. They're close to hardware language.
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
add a comment |
These are bitwise operations. They're close to hardware language.
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
add a comment |
These are bitwise operations. They're close to hardware language.
These are bitwise operations. They're close to hardware language.
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
add a comment |
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
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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